急!!!微机原理考试题,高分求答案

来源:百度知道 编辑:UC知道 时间:2024/07/03 04:35:50
急!!!微机原理考试题,高分求答案
1.程序分析题
ORG 2000H
ARY DW -4,3,-2,1
CNT DW $ -ARY
VAR DW ARY,$ +4
.
.
.
MOV AX,ARY
MOV BX,OFFSET VAR
MOV CX,CNT
MOV DX,VAR+2
LEA SI,ARY
.
.
.
问:此程序段执行后,寄存器AX,BX,CX,DX,与SI中的内容各为多少?
(注:这是个大题,要给出步骤)
2,编程:已知某数组ARRAY中有100个带符号字节数,试用汇编语言编写一源程序,统计该数组中相邻两数间符号变换的次数,并将次数存放在NUM单元中。
3,编程:从AA单元开始的30个连续单元中存放有30个无符号数,从中找出最大数送入BB单元中,试编程。

1.程序分析题
ORG 2000H
ARY DW -4,3,-2,1
CNT DW $ -ARY
VAR DW ARY,$ +4
.
.
.
MOV AX,ARY ;AX=0FFFCH
MOV BX,OFFSET VAR ;BX=2008H
MOV CX,CNT ;CX=8
MOV DX,VAR+2 ;DX=200EH
LEA SI,ARY ;SI=2000H
此程序段执行后,
AX=0FFFCH
BX=2008H
CX=8
DX=200EH
SI=2000H
; -----------------------------------------
2,编程:已知某数组ARRAY中有100个带符号字节数,试用汇编语言编写一源程序,统计该数组中相邻两数间符号变换的次数,并将次数存放在NUM单元中。
cld
lea si,ARRAY ;取数组ARRAY地址
mov cx,100 ;数组元素个数
mov NUM,0 ;计数器清零
lodsb ;读入第一个数组元素至累加器al
dec cx
and al,80h ;保留符号位,屏蔽掉其余各位
rol al,1 ;循环左移一位,符号位进入第0位
mov ah,al ;作为相邻两数间符号是否变换的比较对象
Count:lodsb ;读入一个数组元素至累加器al
and al,80h
rol al,1
xor ah,al ;相邻两元素符号位异或,相同则0,相异则1
add NUM,ah ;计数
mov ah,al ;保存当前元素符号位
loop Count ;循环,处理下一个元素
; -----------------------------------------
3,编程:从AA单元开始的30个连续单元中存放有30个无符号数,从中找出最大数送入BB单元中,试编程。