微机原理与应用(III)

微机原理与应用(III)

ID:36658731

大小:323.75 KB

页数:39页

时间:2019-05-13

微机原理与应用(III)_第1页
微机原理与应用(III)_第2页
微机原理与应用(III)_第3页
微机原理与应用(III)_第4页
微机原理与应用(III)_第5页
资源描述:

《微机原理与应用(III)》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、微机原理及应用主讲:谢维成http://xweicheng.ys168.comscxweicheng@yahoo.com.cn1调试程序DEBUGDEBUG.exe是DOS提供的一个调试汇编语言程序的程序每个版本的DOS都带有该程序。DEBUG程序采用的是命令行方式使用不方便,但实用性强.是学习汇编语言程序、计算机硬件等课程的有效工具.其他调试程序:TurboDebugger(TD.exe)CodeViewSoftice2DEBUG主要命令一览命令功能简介R显示、修改寄存器内容RF显示、修改PSW内容A汇编指令U反汇编T单步、多步执行指令P单步、

2、多步执行指令G连续执行指令D显示内存内容E修改内存内容W将内存块写入文件L将文件调入内存I读入端口的内容O将数据写入端口Q退出DEBUG,返回DOS3DEBUG程序的具体作用:1.查看/修改寄存器,内存单元的内容;2.学习寻址方式和指令系统;3.了解计算机取指令,执行指令的工作过程;4.调试有问题的汇编语言程序。4注意:DEBUG下符号与标志的对应关系《实验指导书》附录标志名称10溢出标志OFOVNV方向标志DFDNUP中断标志IFEIDI符号标志SFNGPL零标志ZFZRNZ辅助标志AFACNA奇偶标志PFPEPO进位标志CFCYNC5课后可参

3、照下列步骤做实验:D:>DEBUGÝ;进入DEBUG-RÝ;查看当前各寄存器的内容AX=0000BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1271ES=1271SS=1271CS=1271IP=0100NVUPEIPLNZNAPONC1271:0100B83412MOVAX,1234-D0:0Ý;查看0:0~7FH内存块的内容0000:00009E0FC90065047000-1600EB0765047000....e.p.....e.p.0000:00106504700054FF0

4、0F0-587F00F0F5E700F0e.p.T...X....…、、、、、、-UFFFF:0Ý;反汇编FFFF:0处的指令FFFF:0000CD19INT19FFFF:0002E000LOOPNZ0004、、、、、、6-AÝ;汇编一条指令1271:0100MOVAX,12341271:0103-T=100Ý;执行该指令AX=1234BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1271ES=1271SS=1271CS=1271IP=0103NVUPEIPLNZNAPONC1271:01

5、03E9C300JMP01C9-RÝ;查看指令执行后结果AX=1234BX=0000CX=0000DX=0000SP=FFEEBP=0000SI=0000DI=0000DS=1271ES=1271SS=1271CS=1271IP=0103NVUPEIPLNZNAPONC-QÝ;退出DEBUGD:>73.4.23.4.2算术运算指令算术运算指令1.加法指令2.减法指令3.乘法指令4.除法指令8(3)(3)加加11指令指令INCINC((单操作数指令)单操作数指令)格式:INCregINCreg/mem例:INCALINCBYTEPTR[BX+4]

6、本指令除CF外对其余标志均有影响。(4)BCD码的加法十进制调正指令AAA和DAAÆAAA本指令对在AL中的由两个未组合的BCD码相加后的结果进行调正,得到一个正确的未组合的BCD码。9例1:MOVAL,0800001000ADDAL,09+0000100100010001结果应为17,而计算机相加为11H,原因在于运算过程中,如遇到低4位往高4位产生进位时(此时AF=1)按逢十六进一的规则,但BCD码要求逢十进一,因此只要产生进位就会丢掉一个6,这就要进行加6调正。10实际上当低4位的结果>9(即A~F之间)时,也应进行加6调正。如上面的结果进

7、行加6得:00010001+000001100001011111AAA指令的调正步骤:如AL的低4位>9或AF=1,则:①(AL)←(AL)+6,(AH)←(AH)+1,AF←1②(AL)←((AL)∧0FH)③CF←AF否则(AL)←((AL)∧0FH)再来看前例,用如下程序段可得正确结果MOVAL,08HADDAL,09HAAA12例2:计算2658+3619=?设被加数和加数的每一位都以ASCII码形式存放在内存中,低位在前,高位在后,另留出5个单元存相加的结果。如下页图3-13示13STRING138H‘8’被35H‘5’加36H‘6’数

8、32H‘2’...39H‘9’数STRING231H‘1’加据段36H‘6’数33H...‘3’SUM结果图3-1314程序段如下:LE

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。