谁知道《计算机组成原理与汇编语言程序设计》的这三题怎么做

完成如下程序,实现将0,1,2,3,4,5,6,7,8,9十个数反过来排列:STACKSEGMENTSTACK'STACK'DB100DUP(0)STACKENDSDAT... 完成如下程序,实现将0,1,2,3,4,5,6,7,8,9十个数反过来排列:
STACK SEGMENT STACK 'STACK'
DB 100 DUP(0)
STACK ENDS
DATA SEGMENT PARA 'DATA'
SOUR DB 0,1,2,3,4,5,6,7,8,9
DEST DB 10 DUP(?)
DB '$'
DATA ENDS
CODE SEGMENT PARA 'CODE'
ASSUME CS:CODE
MAIN PROC FAR
START: PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV CX,10
MOV SI,
MOV DI,offset DEST
AGAIN: MOV AL,[SI]
MOV [DI],AL

INC DI
LOOP AGAIN
MOV DX,offset DEST
MOV AH,09H
INT 21H
RET
MAIN ENDP
CODE ENDS
END START
上机操作题二:
完成如下程序,实现从十个数中找出最小的数。
DATA SEGMENT
ARY DB 17,5,40,3,67,12,34,78,32,10
MAX DB ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK1
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET ARY
MOV CX,9
MOV AL,[SI]
LOP: INC SI
CMP AL,[SI]

MOV AL,[SI]
BIGER: LOOP LOP
MOV MAX,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START
上机操作题三:
完成如下程序,实现从键盘输入1显示a,输入2显示b,输入3显示c。
data segment
x db 'abc'
y db ?
data ends
code segment
assume ds:data,cs:code
begin: mov ax,data
mov ds,ax
mov ah,01h
int 21h
xor ah,ah

cmp al,2
jl less
jz equa
mov si,offset x+2
jmp next
less: mov si,offset x
jmp next
equa: mov si,offset x+1
next: mov al,[si]
mov y,al
mov dl,al
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end begin
展开
 我来答
呀豆荚
2006-12-06 · TA获得超过3081个赞
知道小有建树答主
回答量:752
采纳率:100%
帮助的人:1348万
展开全部
第一题:
(1)(offset sour)+9
(2)dec si
不知道是不是一空只填一句?如果可以填两句,那么第二个空应该是:
or byte ptr[di],30h
dec si
如果只能填一句,这个题本身就有点问题啦:按上面的方法填上后,数值是倒序了,可是也不能直接用9号功能显示啊,这时显示的是乱码。要想显示9到0这些数码,还要再加上30H呢。

第二题
(1)jbe biger
这个题也很有意思,明明是找最小数嘛,干嘛定义变量叫“MAX”?

第三题
(1)and al,0fh
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式