ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:19.14KB ,
资源ID:29974825      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/29974825.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理习题答案4.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理习题答案4.docx

1、微机原理习题答案4微型计算机原理第4章习题参考答案4.1已知某数据段中有COUNT1 EQU 16HCOUNT2 DW 16H下面两条指令有何异同。MOV AX,COUNT1MOV BX,COUNT2解: 同:执行完之后,AX=BX=16H 异:MOV AX,COUNT1向AX中传送的是立即数,而MOV BX,COUNT2向BX中传送的是变量内容。4.2下列程序段执行后,寄存器AX、BX和CX的内容分别是多少?ORG 0202H DA-WORD DW 20HMOV AX,DA-WORD ;AX=0020HMOV BX,OFFSET DA-WORD ;BX=0202HMOV CL,BYTE PT

2、R DA-WORD ;CL=20HMOV CH,TYPE DA-WORD ;CH=02H解: AX=0020H,BX=0202H,CX=0220H4.3设平面上有一点P的直角坐标(x,y),试编制完成以下操作的程序:如P点落在第I象限,则K=I;如P点落在坐标轴上,则K=0。解:DAT SEGMENTmsg db please input number only!$MSG1 DB 10,13,INPUT X:$MSG2 DB 10,13,INPUT Y:$xbuf db 20,0xbuf1 db 20 dup(?)ybuf db 20,0ybuf1 db 20 dup(?)D1 DB 10,1

3、3,K=D2 DB ?,$DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX mov dx,offset msg mov ah,9 int 21h MOV DX,OFFSET MSG1 MOV AH,9 INT 21H mov dx,offset xbuf MOV AH,0AH INT 21H MOV DX,OFFSET MSG2 MOV AH,9 INT 21H mov dx,offset ybuf MOV AH,0AH INT 21H CMP ybuf1,0 JE PRO1 CMP xbuf1,0 JE PRO1

4、 cmp xbuf1,- Jz PRO2 CMP ybuf1,- Je PRO4 MOV D2,1 JMP SHOWPRO1: MOV D2,0 JMP SHOWPRO2: CMP ybuf1,- Je PRO3 MOV D2,2 JMP SHOWPRO3: MOV D2,3 JMP SHOWPRO4: MOV D2,4SHOW: MOV DX,OFFSET D1 MOV AH,9 INT 21H mov ah,4ch int 21hCOD ENDS END BG4.4 试编制一程序,把CHAR1中各小写字母分别转换为对应的大写字母,并存放于CHAR2开始的内存单元中。CHAR DBabcde

5、fCHAR2 DB $CHAR1 DUP(0)解:DAT SEGMENTCHAR1 DB abcdefghCHAR2 DB $-CHAR1 DUP(0)N EQU $-CHAR2DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,NLP: MOV AL,CHAR1SI SUB AL,20H MOV CHAR2SI,AL INC SI LOOP LP MOV AH,4CH INT 21HCOD ENDS END BG_4.5 试编写一程序,把DABY1字节单元中数据分解成3个八进制数,其

6、最高位八进制数据存放在DABY2字节单元中,最低位存放在DABY2+2字节单元中。DABY1 DB 6BHDABY2 DB 3DUP(0)解:DAT SEGMENTDABY1 DB 6BHDABY2 DB 3 DUP(0) DB 24HDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,DABY1 AND AL,07H MOV DABY2+2,AL MOV AL,DABY1 AND AL,38H MOV CL,3 SHR AL,CL MOV DABY2+1,AL MOV AL,DABY1 AND AL,

7、0C0H MOV CL,6 SHR AL,CL MOV DABY2,AL MOV AH,4CH INT 21HCOD ENDS END BG_4.12 试编写一程序,编程计算(A*B+C-70)/A,其中A、B、C均为字节变量。解:DAT SEGMENTA DB 23B DB 45C DB 67shang DB ?yushu db ?DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,A IMUL B MOV CL,C MOV CH,0 ADD AX,CX MOV DX,70 SUB AX,DX MOV

8、 BL,A IDIV BL MOV shang,AL mov yushu,ah MOV AH,4CH INT 21HCOD ENDS END BG_4.14 试编写一程序,找出BUF数据区中带符号数的最大数和最小数。解:DAT SEGMENTBUF DB 3,6,5,4,1,-56,89,78,-67,12,43,45,-32N EQU $-BUFmax db ?min db ? DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV SI,1 MOV CX,N-1 mov al,buf mov bl,alREC

9、MP1: CMP AL,BUFSI JgE NOP1 mov AL,BUFSINOP1: cmp bl,bufsi jle nop2 mov bl,bufsinop2: INC SI LOOP RECMP1 mov max,al mov min,bl MOV AH,4CH INT 21HCOD ENDS END BG_4.5 试编写一程序,把DABY1字节单元中数据分解成3个八进制数,其最高位八进制数据存放在DABY2字节单元中,最低位存放在DABY2+2字节单元中。DABY1 DB 6BHDABY2 DB 3DUP(0)解:DAT SEGMENTDABY1 DB 6BHDABY2 DB 3

10、DUP(0) DB 24HDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,DABY1 AND AL,07H MOV DABY2+2,AL MOV AL,DABY1 AND AL,38H MOV CL,3 SHR AL,CL MOV DABY2+1,AL MOV AL,DABY1 AND AL,0C0H MOV CL,6 SHR AL,CL MOV DABY2,AL MOV AH,4CH INT 21HCOD ENDS END BG_ 4.6 从BUF地址处起,存放有100字节的字符串,设其中有一个以

11、上的A字符,编程查找出第一个A字符相对起始地址的距离,并将其存入LEN单元。解:DAT SEGMENTSTRING 1234ABCE-N EQU $-STRINGKEY DB ALEN DB ?MSG1 DB NOT FOUND KEY $MSG2 DB THE KEY IS AT:$DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,N-1 MOV AL,BYTE PTR KEYLP:CMP AL,STRINGSI12340567800900046AB34120000040010000

12、000000000 JNE NEXT JE FINDNEXT:INC SI LOOP LP MOV DX,OFFSET MSG1 MOV AH,9 INT 21H JMP LASTFIND:MOV LEN,SI MOV DX,OFFSET MSG2 MOV AH,9 INT 21H MOV DL,LEN MOV AH,2 INT 21HLAST:MOV AH,4CH INT 21HCOD ENDS 4.7 写出下列逻辑地址的段地址,偏移地址和物理地址。(1)4312H:0B74H (2)10ADH:0DE98H (3)8314H:0FF64H (4)78BCH:0FD42H 解:(1)段地址:

13、4312H,偏移地址:0B74H,物理地址:43C94H (2)段地址:10ADH,偏移地址:0DE98H,物理地址:1E968H (3)段地址:8314H,偏移地址:0FF64H,物理地址:930A4H (4)段地址:78BCH,偏移地址:0FD42H,物理地址:88902H4.8 某程序设置的数据区如下所示DATA SEGMENTDB1 DB 12H,34H,0,56HDW1 DW 78H,90H,0AB46HADR1 DW DB1ADR2 DW DW1AAA DW $DB1BUF DB 5 DUP(0)DATA ENDS画出该数据段内容在内存中的存放形式(要求用十六进制补码表示,按字节组

14、织)解:如右图示 49 假设BX=54A3H,变量VALUE中存放的内容为68H,确定下列各条指令单独执行后BX=?(1)XOR BX,VALUE (2)OR BX,VALUE(3)AND BX,00H (4)SUB BX,VALUE(5)XOR BX,0FFH (6)TEST BX,01H解:(1)BX=54CBH (2)BX=54EBH (3)BX=00H (4)BX=543BH (5)BX=545CH (6)BX=54A3H,按位与,不回送结果 4.10 以BUF1和BUF2开头的两个字符串,其长度均为LEN,试编程实现。(1)将BUF1开头的字符串传送BUF2开始的内存空间;(2)将B

15、UF1开始的内存空间全部为零。解:DAT SEGMENT BUF1 DB ABCDBUF2 DB 1234LEN EQU $BUF2DAT ENDSCOD SEGMENTS ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,LENLP1:MOV AL,BUF1SI MOV BUF2SI,AL INC SI LOOP LP1 MOV SI,0 MOV CX,LEN MOV AL,0LP2:MOV BUF1SI,AL INC SI LOOP LP2 MOV AH,4CH INT 21HCOD ENDS END BG 4.11 假

16、设数据段的定义如下所示。P1 DW ?P2 DB 32 DUP(?)PLLENTH EQU $P1试问PLENTH的值为多少?表示什么意义?解:PLENTH的值为34,它表示包括P1、P2的数据变量的总长度(字节数)。4.12 试编写一程序,编程计算(A*B+C-70)/A,其中A、B、C均为字节变量。解:DAT SEGMENTA DB 23B DB 45C DB 67shang DB ?yushu db ?DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,A IMUL B MOV CL,C MOV

17、CH,0 ADD AX,CX MOV DX,70 SUB AX,DX MOV BL,A IDIV BL MOV shang,AL mov yushu,ah MOV AH,4CH INT 21HCOD ENDS END BG_4.14 试编写一程序,找出BUF数据区中带符号数的最大数和最小数。解:DAT SEGMENTBUF DB 3,6,5,4,1,-56,89,78,-67,12,43,45,-32N EQU $-BUFmax db ?min db ? DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV S

18、I,1 MOV CX,N-1 mov al,buf mov bl,alRECMP1: CMP AL,BUFSI JgE NOP1 mov AL,BUFSINOP1: cmp bl,bufsi jle nop2 mov bl,bufsinop2: INC SI LOOP RECMP1 mov max,al mov min,bl MOV AH,4CH INT 21HCOD ENDS END BG_4.17 在自BLOCK开始的存储区中有100个带符号数。试用气泡排列法编写成一个程序使它们排列有序。解: 按照从小到大的顺序排列:DAT SEGMENTBLOCK DB 1,2,3,-3,4,43,5,

19、-45,23,-43,123,-123,43n equ $-blockDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,dat MOV DS,AX mov dx,n-1 mov si,0lp: mov al,blocksi MOV CX,n-1 sub cx,si mov bx,1RECMP: cmp AL,blockbx+SI JLE NOCH xchg AL,blockbx+SINOCH: INC bx LOOP RECMP mov blocksi,al inc si dec dx jnz lp MOV AH,4CH INT 21HCOD

20、 ENDS END BG4.20 试编程:从键盘上输入同学的姓名Mr.ABC或MrS.XYZ,当按动回车键时,屏幕上将显示出“Welcome MR.ABC”或“Welcome MrS.XYZ”解: dat segmentmsg1 db 10,please input you name:$msg2 db 10,13,welcome $keybuf db 50,0key db 50 dup($)dat endscod segment assume cs:cod,ds:datbeg: mov ax,dat mov ds,axlp: mov dx,offset msg1 mov ah,9 int 21

21、h mov dx,offset keybuf mov ah,10 int 21h ; mov al,13 ; cmp al,key ; je end_l mov dx,offset msg2 mov ah,9 int 21h mov dx,offset key mov ah,9 int 21h ; jmp lpend_l: mov ah,4ch int 21hcod ends end beg4.20 试编程:从键盘上输入同学的姓名Mr.ABC或MrS.XYZ,当按动回车键时,屏幕上将显示出“Welcome MR.ABC”或“Welcome MrS.XYZ”解: dat segmentmsg1

22、db 10,please input you name:$msg2 db 10,13,welcome $keybuf db 50,0key db 50 dup($)dat endscod segment assume cs:cod,ds:datbeg: mov ax,dat mov ds,axlp: mov dx,offset msg1 mov ah,9 int 21h mov dx,offset keybuf mov ah,10 int 21h ; mov al,13 ; cmp al,key ; je end_lmov dx,offset msg2 mov ah,9 int 21h mov dx,offset key mov ah,9 int 21h ; jmp lpend_l: mov ah,4ch int 21hcod ends end beg

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1