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

抛丸机网站怎么做网站建设与管理是学什么

抛丸机网站怎么做,网站建设与管理是学什么,商丘网站建设推广公司,云筑网0 前言 本文解答王爽《汇编语言》实验5的#xff08;5#xff09;#xff08;6#xff09;题 同时给出一些常见问题的解答 以及给出最易犯错的地方#xff1a;数据类型不匹配的解决方案 1 题目解答 1.1 实验5#xff08;5#xff09; 1.1.1 题目 将data1和data2段…0 前言 本文解答王爽《汇编语言》实验5的56题 同时给出一些常见问题的解答 以及给出最易犯错的地方数据类型不匹配的解决方案 1 题目解答 1.1 实验55 1.1.1 题目 将data1和data2段的数据依次相加结果放入data3段 data1 segmentdb 1,2,3,4,5,6,7,8 data1 endsdata2 segmentdb 1,2,3,4,5,6,7,8 data2 endsdata3 segmentdb 0,0,0,0 ,0,0,0,0 data3 ends1.1.2 题目解析 数据是字节型数据注意寄存器使用al、ah系列寻址要18 8存在进位不过没有超范围不影响此处使用mov指令传送数据最方便内存连续的数据用循环 重要的程序算法设计无论多简单都不能忽视 1.1.3 代码 assume ds:data1,ds:data2,ds:data3 data1 segmentdb 1,2,3,4,5,6,7,8 ; 8 8 10H 一个字节放得下没事 data1 endsdata2 segmentdb 1,2,3,4,5,6,7,8 data2 endsdata3 segmentdb 0,0,0,0 ,0,0,0,0 data3 endsassume cs:code code segment start:mov ax,data1mov ds,axmov bx,0mov cx,8s:mov al,[bx] ; 这种语法格式很容易让人忽略【数据类型】还是ATT格式好add al,[bx 10h]mov [bx 20h],aladd bx,1loop smov ax,04c00hint 21h code ends end start1.1.4 代码注意事项 字节型数据对应使用8位寄存器不是16位内存中连续的字节型数据应该是bx 1不是2可以查一查ATT格式的x86汇编语言这种格式要求操作助记符指明操作数的数据类型这样一来你根本不会出错通常这种格式在Linux操作系统使用。 1.2 实验56 1.2.1 题目 用push指令将data1段的前8个字型数据逆序放入data2段 data1 segmentdw 1,2,3,4, 5,6,7,8, 9,0ah,0bh,0ch, 0dh,0eh,0fh,0ffh data1 endsdata2 segmentdw 0,0,0,0, 0,0,0,0 data2 ends1.2.2 题目解析 字型数据寄存器使用AX系列连续内存单元访问要 2逆序需要使用栈注意栈顶SS:SP的位置和DS:EA的位置 以下是设计模型 算法流程模型不再赘述只需要 将SS:SP和DS:EA指定到对应位置注意要 2 1.2.3 代码 assume ds:data1,ds:data2 data1 segmentdw 1,2,3,4, 5,6,7,8, 9,0ah,0bh,0ch, 0dh,0eh,0fh,0ffh data1 endsdata2 segmentdw 0,0,0,0, 0,0,0,0 data2 endsassume cs:code code segment start:mov ax,data2mov ss,axmov sp,10hmov ax,data1mov ds,axmov bx,0mov cx,8s:push [bx]add bx,2loop smov ax,04c00hint 21h code ends end start1.3 其他语法的注意事项 对于开头的地方需要注意以下是对的 assume ds:data1,ds:data2,ds:data3不可以用以下省略没有这种省略 assume ds:data1,data2,data3这表明段寄存器:段是一体的这两个东西的组合共同表明了段的类型不可以连写。 2 由题目获得的重要思想观念 2.1 需求分析与程序设计的重要性 任何程序设计都要先设计再实现不要一上来就实现一上来就敲代码的唯一结果就是反复返工浪费时间。 且问题复杂度越大浪费时间越多危害也就越大例如在历史上软件工程发展初级阶段放疗设备的软件失误导致多人死亡这个故事足以让你明白需求分析和设计的重要性。 2.2 把握指令本质实现灵活应用 这里想强调push和pop指令的本质就是数据传送指令它们与mov的本质没有区别只不过对其的设计的为了专门的堆栈应用而已但这不代表你只能将其应用于堆栈。 例如最开篇的题目如果你使用push\pop指令是完全可以实现的不过第一题确实没有必要多此一举。 2.3 避免数据类型匹配错误的解决方案 对于此处的讲解我单独放了一篇文章给到你链接 汇编语言程序设计如何避免数据类型匹配错误
http://www.huolong8.cn/news/2017/

相关文章: