汇编程序 把12H6H8H9H3H16H共6个无符号数据之加,并把结果存入字节变量SUM中。

来源:百度知道 编辑:UC知道 时间:2024/05/06 19:03:42
希望给出汇编语言的完整答案

我花了点时间调试了下,能出结果,为了方便观察我加了显示
调试软件是emu8086
希望你能满意!!!

DATA SEGMENT
SHU DB 12h,6h,8h,9h,3h,16h
SUM DB ?
DATA ENDS
STACK SEGMENT PARA STACK 'STACK'
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA
START:
MOV AX,DATA
MOV DS,AX
mov cx,6
MOV AX,0 ;ax清零
lea si,SHU ;指向数据首地址
MOV AL,[SI] ;取第一个数
ONE:
INC SI
MOV BL,[SI] ;取第二个数
ADD AL,BL
DEC CX
JNZ ONE ;不为零跳转
MOV SUM,AX ;将结果放入SUM
MOV BL,100
DIV BL
PUSH AX ;商和余数压栈
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H ;显示百位
POP AX ;出栈
MOV CL,8
SHR AX,CL ;交换高地位
mov bl,10
DIV BL
PUSH AX ;商和余数压栈
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H ;显示十位
POP AX
MOV CL,8
SHR AX,CL
OR AL,30H
MOV DL,AL
MOV AH,2
INT 21H ;显示各位
CODE ENDS
END START