当前位置:首页 >> 工学 >>

课后作业答案Ch4


第4章 汇编语言程序设计 章 4.1请分别用DB 、DW 、DD伪指令写出在DATA开始的连续8个单元中依次存放数据 11H 、22H 、33H 、44H 、55H 、66H 、77H 、88H的数据定义语句. 解:DB,DW,DD伪指令分别表示定义的数据为字节类型、字类型及双字型.其定义形式为 : DATA DB 11H,22H,33H,44H,55H,66H,77H,88H DATA DW 2211H,4433H,6655H,8877H DATA DD 44332211H,88776655H 4.2若程序的数据段定义如下,写出各指令语句独立执行后的结果: DSEG SEGMENT DATA1 DB 10H,20H,30H DATA2 DW 10 DUP(?) STRING DB ‘123’ DSEG ENDS (1) MOV AL,DATA1 (2) MOV BX,OFFSET DATA2 (3) LEA SI,STRING ADD DI,SI 解: (1) 取变量DATA1的值. 指令执行后,(AL)=10H. 1 (2) 变量DATA2的偏移地址. 指令执行后,(BX)=0003H.

(3)先取变量STRING的偏移地址送寄存器SI,之后送SI的内容与DI的内容相加并将结果 送DI.指令执行后,(SI)=0017H;(DI)=(DI)+0017H. 4.3 试编写求两个无符号双字长数之和的程序. 两数分别在MEM1和MEM2单元中,和放 在SUM单元. 解: DSEG SEGMENT MEM1 DW 1122H,3344H MEM2 DW 5566H,7788H SUM DW 2 DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START: MOV AX,DSEG MOV DS,AX LEA BX,MEM1 LEA SI,MEM2 LEA DI,SUM MOV CL,2 CLC AGAIN: MOV AX,[BX] 2

ADC AX,[SI] MOV [DI],AX ADD BX,2 ADD SI,2 ADD DI,2 LOOP AGAIN HLT CSEG ENDS END START 4.4试编写程序,测试AL寄存器的第4位(bit4)是否为0? 解: 测试寄存器AL中某一位是否为0,可使用TEST指令、AND指令、移位指令等几种方 法实现。 如:TEST AL,10H JZ NEXT . . . NEXT:… 或者: MOV CL,4 SHL AL,CL JNC NEXT . 3 NEXT:…

4.5 试编写程序,将BUFFER中的一个8位二进制数转换为ASCII码,并按位数高低顺序 存放在ANSWER开始的内存单元中。 解: DSEG SEGMENT BUFFER DB ? ANSWER DB 3 DUP(?) DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG START:MOV AX,DSEG MOV DS,AX MOV CX,3 ;最多不超过3为十进制数(255) LEA DI, ANSWER ;DI指向结果存放单元 XOR AX,AX MOV AL,BUFFER ;取要转换的二进制数 MOV BL,0AH ;基数10 AGAIN:DIV BL ;用除10取余的方法转换 ADD AH,30H ;十进制数转换成ASCII码 MOV [DI], AH ;保存当前的结果 4 INC DI ;指向下一个位保存单元

AND AL,AL ;商为0?(转换结束?) JZ STO ;若结束,退出 MOV AH,0 LOOP AGAIN ;否则循环继续 STO: MOV AX,4C00H INT 21H ;返回DOS CSEG ENDS END START 4.6 假设数据项定义如下: DATA1 DB ‘HELLO!GOOD MORNING!’ DATA2 DB 20 DUP(?) 用串操作指令编写程序段,使其分别完成以下功能: (1)从左到右将DATA1中的字符串传送到DATA2中。 (2)传送完后,比较DATA1和DATA2中的内容是否相同。 (3)把DATA1中的第3和第4个字节装入AX。 (4)将AX的内容存入DATA2+5开始的字节单元中。 解: (1) MOV AX,SEG DATA1 MOV DS,AX MOV AX,SEG DATA2

5

MOV ES,AX LEA SI,DATA1 LEA DI,DATA2 MOV CX,20 CLD REP MOVSB (2) LEA SI,DATA1 LEA DI,DATA2 MOV CX,20 CLD REPE CMPSB 。。。 (3) LEA SI,DATA1 ADD SI,2 LODSW (4)LEA DI,DATA2 ADD DI,5 STOSW

6

4.7执行下列指令后,AX寄存器的内容是多少? TABLE DW 10,20,30,40,50 ENTRY DW 3 . . . MOV BX,OFFSET TABLE ADD BX,ENTRY MOV AX,[BX] 解:(AX)=1E00H 4.8 编写程序段,将STRING1中的最后20个字符移到STRING2中(顺序不变)。 解:首先确定STRING1中字符串的长度,因为字符串的定义要求以‘$’符号结尾, 可通过检测‘$’符确定出字符串的长度,设串长度为COUNT,则程序如下: LEA SI,STRING1 LEA DI,STRING2 ADD SI,COUNT-20 MOV CX,20 CLD REP MOVSB

7

4.9 假设一个48位数存放在DX:AX:BX中,试编写程序段,将该48位数乘以2. 解: 可使用移位指令来实现。首先将BX内容逻辑左移一位,其最高位移入进位位CF, 之后AX内容带进位位循环左移,使AX的最高位移入CF,而原CF中的内容(即 BX的最高位)移入AX的最低位,最后再将DX内容带进位位循环左移一位,从而 实现AX的最低位移入DX的最低位。 SHL BX,1 RCL AX,1 RCL DX,1 4.10 试编写程序,比较AX,BX,CX中带符号数的大小,并将最大的数放在AX中。 解:比较带符号数的大小可使用符号数比较指令JG等。 CMP AX,BX JG NEXT1 XCHG AX,BX NEXT1:CMP AX,CX JG STO MOV AX,CX STO:HLT 4.11 若接口03F8H的第1位(b1)和第3位(B3)同时为1,表示接口03FBH有准备好的8位 数据,当CPU将数据取走后,b1和b3就不再同时为1了。仅当又有数据准备好时才 再同时为1。 试编写程序,从上述接口读入200字节的数据,并顺序放在DATA开始的地址中。 8

解:即当从输入接口03F8H读入的数据满足ⅹⅹⅹⅹ1ⅹ1ⅹB时可以从接口03FBH输入 数据。 LEA SI,DATA MOV CX,200 NEXT: MOV DX,03F8H WAIT: IN AL,DX AND AL,0AH ;判断b1和b3位是否同时为1 CMP AL,0AH JNZ WAIT ;b1和b3位同时为1则读数据,否则等待 MOV DX,03FBH IN AL,DX MOV [SI],AL INC SI LOOP NEXT HLT 4.12 画图说明下列语句分配的存储空间及初始化的数据值。 (1)DATA1 DB ‘BYTE’,12,12H,2 DUP(0,?,3) (2)DATA2 DW 4 DUP(0,1,2),?,-5,256H 解: (1) 存储空间分配情况如图(a)所示。 9 (2) 存储空间分配情况如图(b)所示。

DATA2

00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H 00H 00H 01H 00H 02H 00H ? ? FBH FFH

DATA1

42H 59H

‘B’ ‘Y’ ‘T’ ‘E’

高 地 址 方 向

54H 45H 0CH 12H 00H ? 03H 00H ? 03H (a)

高 地 址 方 向

随机数

随机数

5

(b)

56H 02H

10


相关文章:
甲烷_烷烃习题 含答案、
高一化学 甲烷 烷烃习题 一、选择题 1、在人类已知的化合物中,品种最多的是( ) A、过渡元素的化合物 B、ⅢA 族元素的化合物 C、ⅣA 族元素的化合物 D、...
ch4 课后习题-计算题(1)
ch4 课后习题-计算题(1)_经济学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档ch4 课后习题-计算题(1)_经济学_高等教育_教育专区。五、综合业务计算...
CH4习题解答
CH4习题解答 隐藏>> 一、简答题: 简答题: 1、简要说明“用户登录”模块的实现方法。 简要说明“用户登录”模块的实现方法。 答案: (1)用户登录模块的流程图开始...
ch4习题
ch6习题答案 12页 免费如要投诉违规内容,请到百度文库投诉中心;如要提出功能问题或意见建议,请点击此处进行反馈。 ch4习题 影像学习题影像学习题隐藏>> 一.填空...
甲烷烷烃练习题
甲烷烷烃练习题_政史地_高中教育_教育专区。新课改必修2第三章最简单的有机...甲烷、烷烃练习题 课后辅... 2页 免费 甲烷 烷烃 专项练习 5页 免费 ©...
甲烷习题
甲烷练习题 7页 2财富值 甲烷补充习题 3页 免费 甲烷 烷烃习题 5页 免费 甲烷练习 2页 免费 甲烷习题 5页 1财富值如要投诉违规内容,请到百度文库投诉中心;如...
CH4习题
CH4习题_工学_高等教育_教育专区。CH4习题习题4 判断题: 判断题: 1.空串是由空白字符组成的串( ) 2. 串的定长顺序结构是用一组地址连续的存储单元存储串值...
甲烷、烷烃练习题
甲烷、烷烃练习题 课后辅导... 2页 免费 甲烷和烷烃习题1 1页 免费 甲烷 烷烃习题 2页 1财富值 甲烷和烷烃的练习卷 4页 1财富值 甲烷 烷烃习题 A 大纲 ...
CH4习题
CH4习题_IT/计算机_专业资料。数据结构复习习题习题4 判断题: 判断题: 1.空串是由空白字符组成的串( ) 2. 串的定长顺序结构是用一组地址连续的存储单元存储串...
李晓峰__通信原理习题答案-CH4
李晓峰__通信原理习题答案-CH4_历史学_高等教育_教育专区。习题 1. 给定二进制比特序列{1101001}, 试给出相应的单 极性 NRZ 信号、双极性 RZ 信号与传号差分...
更多相关标签: