当前位置: 首页 > news >正文

有什么网站可以免费建站温州百度推广排名

有什么网站可以免费建站,温州百度推广排名,开一家网络公司做网站前景如何,上海外贸建站推广公司章节目录 简单程序 使用段简单字符串处理程序使用 bx, si, di, bp 寄存器寻址寻址方法指明数据长度div指令 作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, 避免后来读者再学习错误的知识.谢谢! 本文中所有程序均在DOSBox下使用MASM, LINK编译运…章节目录 简单程序 使用段简单字符串处理程序使用 bx, si, di, bp 寄存器寻址寻址方法指明数据长度div指令 作者能力有限, 如果您在阅读过程中发现任何错误, 还请您务必联系本人,指出错误, 避免后来读者再学习错误的知识.谢谢! 本文中所有程序均在DOSBox下使用MASM, LINK编译运行 简单程序 segment…ends: 伪指令, 用来定义一个段(比如,代码段,数据段,堆栈段), segment 标识一个段的开始, ends 标识一个段的结束. 语法: SegmentName segment .. SegmentName ends assume: 伪指令, 它假设某一段寄存器和程序中的某一个用 segment..ends 定义的段相关联. mov ax, 4c00h int 21h 称为程序返回,它的作用是将 CPU 的控制权交还给使他得以运行的程序. 使用段 使用 assume 将我们定义的数据段,堆栈段,代码段和对应的段寄存器关联起来. cs 寄存器对应代码段 ds 寄存器对应数据段 ss 寄存器对应堆栈段 值得注意, 我们在访问数据段或者堆栈段的时候,总是将段基址先保存在 ax 中,然后由 ax 保存到 ds 或者 ss. 为什么不直接将段基址保存到 ds 或者 ss 中? 答案是该操作非法. 简单字符串处理程序 在这里, 我们使用 bx offset 的语法访问数据段中的字符串. 相应的字符的地址计算方法为 addrds∗16bxoffsetaddrds∗16bxoffsetaddr = ds * 16 + bx + offset. 这里 offset 一般为常量. 如果不是常量, 我们可以使用 [bxdioffset] 来完成. 相应的字符的地址计算方法为 addrds∗16bxdioffsetaddrds∗16bxdioffsetaddr = ds * 16 + bx + di + offset. 对于栈的访问可以使用 [bxsioffset] 的方式访问. 相应的字符的地址计算方法为 addrds∗16bxsioffsetaddrds∗16bxsioffsetaddr = ds * 16 + bx + si + offset. 使用 bx, si, di, bp 寄存器寻址 只有这四个寄存器可以用在 ‘[…]’ 中来进行内存单元寻址 比如: mov ax, [bx] mov ax, [bxsi] mov ax, [bxdi] 可以使用 bp 替换 bx. //以下用法是错误的 mov ax, [ax] mov ax, [cx] mov ax, [dx] mov ax, [ds] 这四个寄存次可以单个出现在 ‘[…]’ 中或者以组合出现. 组合形式只能是以下四种: mov ax, [bx si offset] mov ax, [bx di offset] mov ax, [bp si offset] mov ax, [bp si offset] 当然 offset 可以为零. //以下用法是错误的 move ax, [di si] move ax, [bx bp] 只要在 ‘[…]’ 中使用 bp 寄存器, 而指令中没有显式的给出段地址, 段地址默认在 ss 中. 寻址方法 直接寻址 如: mov ax, [0] // 段基址在 ds 中 寄存器间接寻址 如: mov ax, [bx] // 段基址在 ds 中. bx 指明偏移 mov ax, [si] // 段基址在 ds 中. si 指明偏移 mov ax, [di] // 段基址在 ds 中. di 指明偏移 mov ax, [bp] // 段基址在 ss 中. bp 指明偏移 寄存器相对寻址 如: mov ax, [bxoffset] // 段基址在 ds 中. bxoffset 指明偏移 mov ax, [sioffset] // 段基址在 ds 中. sioffset 指明偏移 mov ax, [dioffset] // 段基址在 ds 中. dioffset 指明偏移 mov ax, [bpoffset] // 段基址在 ss 中. bpoffset 指明偏移 基址变址寻址 如: mov ax, [bxsi] // 段基址在 ds 中. bxsi 指明偏移 mov ax, [bxdi] // 段基址在 ds 中. bxdi 指明偏移 mov ax, [bpsi] // 段基址在 ss 中. bpsi 指明偏移 mov ax, [bpdi] // 段基址在 ss 中. bpdi 指明偏移 相对基址变址寻址 如: mov ax, [bxsioffset] // 段基址在 ds 中. bxsioffset 指明偏移 mov ax, [bxdioffset] // 段基址在 ds 中. bxdioffset 指明偏移 mov ax, [bpsioffset] // 段基址在 ss 中. bpsioffset 指明偏移 mov ax, [bpdioffset] // 段基址在 ss 中. bpdioffset 指明偏移 指明数据长度 通过寄存器名指明要处理的数据的尺寸 // 使用字长度 (ax: 16bit) mov ax, 1 mov ds:[0], ax // 使用字节长度 (al: 8bit) mov al, 1 mov ds:[0], al 在没有寄存器名存在的情况下, 使用操作符 Type ptr 指明内存单元长度. Type 可以使 word 或者 byte. // 使用字长度 (ax: 16bit) mov word ptr ds:[0], 1 add word ptr [bx], 1 // 使用字节长度 (al: 8bit) mov byte ptr ds:[0], 1 add byte ptr [bx], 1 有些指令有默认的访问数据长度. 比如 push 就只能进行字操作 div指令 注意问题: 除数: 有 8 位和 16 位两种, 在一个 reg 或者内存单元中被除数: 默认放在 AX 或者 DX 和 AX 中, 如果除数为 8 位, 被除数则为 16 位, 默认在 AX 中; 如果除数为 16 位, 被除数则为 32 位, 在 DX 和 AX 中存放, DX 存放高 16 位, AX 存放低 16 位.结果: 如果除数为 8 位, 则 AL 存放除法操作的商, AH 存放余数; 如果除数为 16 位, 则 AX 存放除法操作的商, DX 存放余数; 欢迎交流任何想法. End…
http://www.pierceye.com/news/289827/

相关文章:

  • wordpress仿站软件遵化市城乡建设规划局网站
  • 湖北大网站建设贵州住房建设厅官网查询
  • 买个网站域名要多少钱一年网站建设热门吗
  • 高埗网站建设软件开发工程师就是程序员吗
  • 青岛正一品网站建设seo搜索优化排名
  • 响应式网站制设计wordpress游戏充值
  • 怎么看网站服务器地址网络设计一个月多少钱
  • 网站友情链接模块创作网站
  • 廉江手机网站建设公司商品展示介绍网站源码
  • 网站备案更换主体ui设计素材
  • 湖南住房和建设厅网站免费的网站建设开发
  • 苏州园区建设网站首页娱乐新闻做的好的网站
  • 江苏省建设集团有限公司网站做网站的软件dw下载
  • 做网站需要学些什么软件杭州学校网站建设
  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip
  • 做网站卖东西赚钱wordpress微信网站
  • 商丘网站建设有限公司店面设计费用
  • 张店学校网站建设公司合肥有哪些seo网络公司
  • 做博客网站的空间容量需要多少北京简盟产品设计有限公司
  • 哪些网站怎么进定制开发平台
  • 【郑州网站建设】wordpress自定义后台单页模板
  • 铭誉摄影网站北京网站建设开发
  • 单位还能建设网站吗做网站的程序员留备份
  • 松江团购做网站产品开发的基本流程
  • 织梦后台网站栏目空白小广告制作
  • 钦州建设局网站云南网站建设招商