微机原理思考题与习题

更新时间:2023-05-16 04:12:46 阅读: 评论:0

思考题与习题答案
3.17在8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,V AR的偏移量为0060H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,请计算它们的物理地址是多少?
(1) MOV BX,12 (2) MOV [BX],12
(3) MOV ES:[SI],AX (4) MOV V AR,8
(5) MOV [BX][SI],DX (6) MOV 6[BP][SI],AL
(7) MOV [1000H],DX (8) MOV 6[BX],CX
(9) MOV V AR+5,AX
解:
(1)寄存器寻址方式。没有物理地址。
(2)寄存器间接寻址方式。其物理地址是1000H×10H+0300H=10300H
(3)寄存器间接寻址方式。其物理地址是2000H×10H+0200H=20200H
(4)直接寻址方式。其物理地址是1000H×10H+0060H=10060H
(5)基址变址寻址方式。其物理地址是1000H×10H+0300H+0200H=10500H
(6)相对基址加基址变址。其物理地址是1200H×10H+06H+0100H+0200H=12306H (7)直接寻址方式。其物理地址是1000H×10H+1000H=11000H
(8)寄存器相对寻址。其物理地址是1000H×10H+06H+0300H=10306H
(9)直接寻址方式。其物理地址是1000H×10H+0060H+5H=10065H
3.19试述以下指令的区别。
(1)MOV AX,3000H 与MOV AX,[3000H]
(2)MOV AX,MEM 与MOV AX,OFFSET MEM
(3)MOV AX,MEM 与LEA AX,MEM
(4)JMP  SHORT L1 与JMP NEAR PTR L1
(5)CMP DX,CX 与SUB DX,CX
(6)MOV [BP][SI],CL 与MOV DS:[BP][SI],CL
解:
(1)源操作数的寻址方式不同,前者是立即寻址,后者是直接寻址。
(2)前者是MEM对应地址单元中的一个字的内容送给AX
后者是MEM的偏移地址给AX。
(3)前者是MEM对应地址单元中的一个字的内容送给AX
后者是取MEM的有效地址送给AX
(4)前者是短跳转指令,源地址与目标地址的距离为:-128 ~ +127
后者是近跳转指令,源地址与目标地址的距离为:-32768 ~ +32767
(5)前者是DX - CX,影响标志位,DX不保留结果;
后者是DX - CX,影响标志位,DX保留结果。
(6)二者的目标操作数均采用:基址变址寻址,但两者的物理地址不同。
3.23设AX=0A69H,V ALUE字变量中存放的内容为1927H,写出下列各条指令执行后AX 寄存器和CF、ZF、OF、SF、PF的值。
(1)XOR AX,V ALUE
(2)AND AX,V ALUE
(3)SUB AX, V ALUE
(4)CMP AX, V ALUE
(5)NOT AX
(6)TEST AX, V ALUE
解:
(1)A=134EH,CF=0、ZF=0、OF=0、SF=0、PF=1
(2)A=0821H,CF=0、ZF=0、OF=0、SF=0、PF=1
(3)A=F142H,CF=1、ZF=0、OF=0、SF=1、PF=1
(4)A=0A69H,CF=1、ZF=0、OF=0、SF=1、PF=1
(5)A=F596H,CF、ZF、OF、SF、PF都不变
(6)A=0A69H,CF=0、ZF=0、OF=0、SF=0、PF=1
3.34 编写代码:计算a+10b+100c+20d,其中a、b、c、d均为单字节无符号数,结果为16位,存入SUM开始的两单元中。
解:
DATA SEGMENT
a DB ?
b DB ?
c DB ?
d DB ?
SUM DW  ?
tsmc
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DAT A,
ST ART: MOV AX,DAT A
MOV DS,AX
MOV AL,a
MOV AH,0
ADD SUM,AX
MOV AL,b
vfp是什么MOV BL,10
MUL BL
ADD SUM,AX
MOV AL,c
MOV BL,100
MUL BL
ADD SUM,AX
MOV AL,d
MOV BL,20
MUL BL
ADD SUM,AX
MOV AH,4CH
INT 21H
CODE ENDS
END ST ART
4.9 设数据段DSEG中符号及数据定义如下,试写出数据在内存中的存储示意图。
DSEG SEGMENT
ORG 100Hfirst impression
DSP =100D
SAM =DSP+20(=120D)
DAB DB ‘/GOTO/’,0DH,0AH
DBB DB 101B,19,’a’
弋果美语
.
RADIX 16
CCB DB 10 DUP(?)
EVEN
DDW DW ‘12’,100D,333,SAM
.RADIX 10
EDW DW 100
LEN EQU $-DAB
DSEG ENDS
解:示意图如下,表格中均为16进制数据
4.11将字符串STRING中的“&”字符用空格符代替,字符串STRING为:“It is FEB&03”。解:
DATA    SEGMENT
STRING  DB      ‘It is FEB&03’
bothof
COUNT  EQU    $-STRING
DATA    ENDS
CODE    SEGMENT
ASSUME  CS:CODE,DS:DATA
START:  MOV      AX,DATA
MOV      DS,AX
MOV    SI,OFFSET STRING
MOV    CX, COUNT
MOV    AL,’&’
ABC:    CMP    AL,[SI]
JNZ    NEXT
MOV    BYTE PTR[SI] ‘’
NEXT:  INC    SI
LOOP    ABC
MOV    AH,4CH
INT    21H
CODE    ENDS
END    START
4.17在有序表“11,22,33,44,55,66,77,88,99,100”查找44。若找到置find为其在表中的位置;未找到,find清零。
DATA    SEGMENT
A        D
四六级报考B    11,22,33,44,55,66,77,88,99,100
COUNT    EQU $-A
FIND    DB    ?
DATA    ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV    AX,DATA
MOV    DS,AX
LEA    DI,A                  LEA    SI,A          ;MOV  SI,OFFSET A
MOV    CX,COUNT              MOV    CX,COUNT
MOV    AL,44                MOV    AL,44
英语在线学习REPE    SCASB            ABC:CMP    AL,[SI]
JE      NOT0JE      NEXT
MOV    DI,0                  INC    SI            ;SI=SI+1
DEC    CX            ;CX=CX-1                              JNE    ABC
MOV    FIND,0
JMP    DONE
whateverwillbewillbeNOT0:  MOV    FIND,DI          NEXT:INC    SI
RET                          MOV    FIND,SI
STR    ENDP                    DONE:MOV    AH,4CH
CODE    ENDS                          INT    21H
END    START                CODE    ENDS
END    START
6.9 8086系统中存储体偶地址体及奇地址体之间该用什么信号区分?怎样区分?
答:
8086系统将1M地址空间分成两个512K地址空间,一半是偶数地址另一半是奇数地址,相应的存储体称为偶存储体和奇存储体。偶存储体和奇存储体的地址线都是19位。将数据总线的低8位D7~D0与偶存储体相连,高8位D15~D8与奇存储体相连。地址总线的A19~A1与这两个存储体的19条地址线A18~A0相连。用CPU的A0作为偶存储体的选中信号,作为奇存储体的选中信号。
BHE
如图所示
blv
8.3已知中断向量表中地址0020H~0023H的单元中依次是40H、00H、00H、01H,并知INT
08H指令本身所在的地址为9000H:00A0H。若SP=0100H,SS=0300H,标志寄存器内容为0240H,试指出在执行INT 08H指令,刚进入它的中断服务程序时,SP、SS、IP、CS和堆栈顶上三个字的内容(用图表示)。
解:调用INT  08H程序地址空间为
9000:00A0  CD08 INT 08H
9000:00A2  XXXX ;从中断返回后地址
刚进入它的中断服务程序时,SP=00FA、SS=0300、IP=0040、CS=0100
堆栈顶上三个字的内容如下表:
9.1 试按如下要求分别编写初始化程序,已知计数器0—2和控制寄存器的端口地址依次为204H-—207H。
(1)使计数器1工作在方式0,仅用8位二进制计数,计数初值为128
(2)使计数器0工作在方式1,按BCD码计数,计数初值为3000
(3)使计数器2工作在方式2,按位二进制计数,计数初值为02F0Hkeenon

本文发布于:2023-05-16 04:12:46,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/110169.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地址   寻址   存储体   方式   指令   目标   物理地址
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图