汇编语言程序设计习题
01H INT 21H MOVAH。习题四 汇编语言程序设计。汇编语言程序设计。【答】(AX)=0034H。(AL)=11010101B。3FH 63H 41H 42H 43H 44H XX XX XX 01H 03H 01H 03H。4.1分析执行下列指令序列后的结果。1234H MOVBX。push ax。
汇编语言程序设计习题Tag内容描述:<p>1、P189 4.10 下面的程序是实现从键盘输入十个一位10进制数后累加。最后累加和以非 压缩BCD码形式存放在AH(高位)和AL(低位)中。 试把程序段中所空缺的指 令填上。 XORBX,BX LOP :MOVAH,01H INT 21H MOVAH,BH ADDAL,BL MOVBX,AX LOOP LOP 第三章 汇编语言程序设计 MOVCX,10 DAA ANDAL,0FH;纠错 Evaluation only.Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd.Copyright 2004-2011 Asp。</p><p>2、习题四 汇编语言程序设计主要内容:汇编语言程序设计。主要介绍汇编语言程序的设计方法与编程原理,重点掌握算术运算程序、字符串处理程序、码制转换程序、子程序设计程序、常用DOS和BIOS功能调用程序、汇编语言常用伪指令。4.1 分析执行下列指令序列后的结果: 1)MOVAX,1234H MOVBX,00FFH ANDAX,BX【答】(AX)=0034H2)MOVAL,01010101B ANDAL,00011111B;(AL)=00010101B ORAL,11000000B;(AL)=11010101B XORAL,00001111B;(AL)=11011010B NOTAL【答】(AL)=00100101B3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN。</p><p>3、汇编语言程序设计 部分习题答案第一章1.1 指令:指令是规定处理器完成某种特定操作的命令代码,指令一般包含操作码和操作数两部分,操作码说明该指令的功能及所要完成的操作,操作数指出该操作对象及结果的存储位置。程序:程序是让计算机完成某些操作、实现某种功能的有序的指令集合。 1.2 答案在书上P2 1.1.21.3 P41.4 对的,P3最上面一句话,面向机器(硬件)的低级语言。1.5 答案:P3 表1-1上面的一段话1.6 对1.7 C A1.8 B1.9 D1.101.14 略1.15 1011+0100=11111010-0111=001110100101=110010001010100110=01111.16 略1.17 X=40=0010 1。</p><p>4、4.1 分析执行下列指令序列后的结果: 1)MOVAX,1234H MOVBX,00FFH ANDAX,BX【答】(AX)=0034H2)MOVAL,01010101B ANDAL,00011111B;(AL)=00010101B ORAL,11000000B;(AL)=11010101B XORAL,00001111B;(AL)=11011010B NOTAL【答】(AL)=00100101B3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN:INCSI CMPSI,DL LOOPNEAGAIN HLT 本程序实现了什么功能?【答】在以0A001H开始的15个单元中查找05H。4)MOVAX,DSEGADDR MOVDS, AX。</p><p>5、第4章 汇编语言程序设计 习题解答 请打开书P176,习题4.1,画出下列语句的数据在存储器中的存储情况: ARRAYB DB 63,63H,ABCD,3 DUP(?),2 DUP(1,3) ARRAYW DW 1234H,5,AB,CD,?,2 DUP(1,3),3FH 63H 41H 42H 43H 44H XX XX XX 01H 03H 01H 03H,34H 12H 05H 00H 42H 41H 44H 43H XX XX 01H 00H 03H 00H 01H 00H 03H 00H,习题4.2,程序中数据定义如下: DATA1 DW ? DATA2 DB 32 DUP(?) DATA3 DD ? DLENGTH EQU $-DATA1 此时DLENGTH的值是多少? 解答: DLENGTH=2(字)+32+4(双字)=38,习题4.3,程序中数据定义如下: ARRAY DB ABCDEF RESULT。</p><p>6、4.1分析执行下列指令序列后的结果: 1)MOVAX,1234H MOVBX,00FFH ANDAX,BX 【答】(AX)=0034H 2)MOVAL,01010101B ANDAL,00011111B;(AL)=00010101B ORAL,11000000B;(AL)=11010101B XORAL,00001111B;(AL)=11011010B NOTAL 【答】(AL)=00100101B 3)MOVDL,05H MOVAX,0A00H MOVDS,AX MOVSI,0H MOVCX,0FH AGAIN: INCSI CMPSI,DL LOOPNE AGAIN HLT 本程序实现了什么功能? 【答】在以 0A001H 开始的 15 个单元中查找 05H。 4)MOVAX,DSEGADDR MOVDS, AX MOVES,AX MOVSI, OFFSET B1ADDR MOVDI,OFFSET B2ADDR MOVCX,N CLD REPMOVSB HL。</p><p>7、5.1编写程序,从键盘接收一个小写字母,然后找出它的前导字符和后续字符,再按顺序用大写字母显示这三个字符。【解】:MAIN PROC FARstart:push dssub ax,axpush axinput:mov ah,7Hint 21Hcmpe:cmp al,20HJE exitcmp al,61HJL inputcmp al,7AHJG inputprint:sub al,01Hmov dl,almov ah,02Hint 21Hadd al,01Hmov dl,almov ah,02Hint 21Hadd al,01Hmov dl,almov ah,02Hint 21H;输出换行回车mov dl,0AHmov ah,02Hint 21Hjmp inputexit :retMAIN ENDPEND start5.2将AX寄存器中的16位数分成4组,每组4位,然后把这4组数分。</p>