微机原理读程序题

微机原理读程序题,第1张

写出基本框架数据段:定义变量代码段:主体代码:数据段初始化,退出代码 base structuredseg segment a db 0 输入的第1个数 b db 0 输入的第2个数 r db 0 保存的计算结果 a-bdseg endscseg segmentassume cs:cseg, ds:dsegstart: mov ax, dseg mov ds, ax 这里开始写题目要求的代码exit to os mov ah, 4ch int 21hcseg ends end start 读取变量a, b, 计算a-b并写入r 下面的代码需要写入上面 " 这里开始写题目要求的代码"之后 mov ah,1int 21h 用int 21H的1功能,读取一个数据字符(al)中sub al, 30H 不考虑输出非数字字符情况下,减30H即为对应的10进制数mov a, al 保存到变量aint 21h 读取第2个字符 ,这里注意,输入两个数的时侯,中间不要加回车、空格等 这里,因为ah, 没有发生改变,所以省略了一步mov ah,1sub al,30hmov b, almov bl, a 提取保存的asub bl, al 计算a-b,放入blmov r, bl 计算结果放入 r 编译并调用程序用masm 或tasm等。

答题啦就要给分哦

一一、判断正误

1. MOV AL,BX 错 位数不对

2. INC [BX] 错 不能使存储器

3. MOV BX,OFFSET VALUE[SI] 可以

4. SAR VALUE,2 错

5. JMP WORD PTR LOPA 可以的,段内直接转移

6. CMP CX,[BX] 错

7. POP CS 错 CS能 *** 作

8. XCHG [SI],VALUE对

9. ADD SP,3 错

10.XOR BYTE PTR[BX],3FH 对的

二、填空题

6.8088或8086中的偏移地址最大是__最大为16位的偏移地址即FFFFH__________

7.计算54H-6EH后,它的结果影响状态标志位的值,其中CF=___1因为不够减____。

三、寻址方式

指出下列指令中源 *** 作数的寻址方式,并计算源 *** 作数的物理地址。设(DS)=2000H,(ES)=3000H,(SS)=4000H,(SI)=100H,(BX)=200H,(BP)=300H,数据段中的字变量VAL的偏移地址为40H

1. MOV AX,[BX+16] ;寄存器相对寻址 20000+0200+16H

2. MOV AX,VAL ;直接寻址 变量val 20000+40=20040h

3. MOV AX,VAL[BP]题目有错

4. MOV AX,ES:[BX][SI] 寄存器间接寻址 30000+0200+0100=300300h

5. MOV AX,VAL[BX][SI]题目有错

四、计算题

1.(127.75)10=( 1111 1111.11H )2=( FF.2H)16

2.今有两个补码分别是0FFFFH和0FFFEH,则两数之和的十进制数为( -1+-2=-3 )

3.若某存储单元物理地址为103FAH,求出下列不同的逻辑地址:

(1)1016H:( ) 102FA-10160H=19AH

(2)( ):04FAH 103FA-04FA=FF00

五、问答题

2.总线周期的含义是什么?CPU完成一次存储器访问或访问I/O所需的时间

8086/8088的基本总线周期由几个时钟周期组成?4个

如果一个CPU的时钟频率为24MHz.那么它的一个时钟周期为多少秒?一个基本总线周期为多少秒?1/24M=41.6ns 4*41.6=166ns

3.总线周期中,在什么情况下会插入Tw等待周期?插入多少个Tw取决于什么因素?无法在三个总线周期内完成读写,需要等待外部设备。

取决于与请求信号的持续时间有关。

六、程序分析

2. 设AX=10101111,BX=11011011。

MOV CL,8

ROR BX,CL 循环右移bx=1101 1011 0000 0000

ROR AX,CL ax=10101111 00000000

MOV BH,AH bh=1101 1011

MOV AH,0 ah=0

执行该段程序后,AX=__0________,BX=___11011011 00000000_____,CF=___1 因为最后一个位为1_

3. 阅读下面程序

Begin: IN AL,5FH 读端口5F值

TEST AL,80H 是否为1000 0000

JZ BRCH1 相等

MOV AH,0 不相等 ah=0

JMP STOP 退出

BRCH1: MOV AH,0FFH

STOP: HLT停机

该段程序在什么情况下执行结果是AH=0?即al的第7位为1的时候

4. 阅读下面程序

BUF1 DB ‘THE DATE IS FEBC03’

BUF2 DB ‘THE ADTE IS FEB$03’

LEA SI,BUF1+17

LEA DI,BUF2+17

MOV CX,18

STD ;令方向标志DF=1

REPE CMPSB

该段程序执行完后,则:应该是只比较了一次,马上就退出了,因为第18个byte都是3

CX=________17_____ ZF =_____0____________

SI=_______16__________DI=__16_______________

TAB DB 1,2,3,4,5,6,7,8

ENTRY EQU 4 定义常量,entry为4

MOV BX,FOOSET TABtab的首偏移地址放到bx中,此时,bx指向tab中的第一个,即“1”

ADD BX,ENTRYbx加4,此时指向tab中的第五个,即‘5’

MOV AX,[BX] ax为一个字,所以把tab中的第五个和第六个放到ax中,即把 6(即06h)放到ah中,5(即05h)放到al中(高位在下,低位在上)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12164328.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存