西工大微机原理作业

更新时间:2024-05-05 08:27:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1、设在X、Y、Z字型变量中存放着三个无符号数,若其中有一个数为0,则把DH寄存器置1;若其中有两个数为0,则把DH寄存器置2;若其中三个数都为0,则把DH寄存器置3;若三个数都不为0,则求出它们的和(不考虑溢出)存入W单元。 .MODEL SMALL .586 .DATA X DB 30H Y DB 31H Z DB 32H W DB ? .CODE .STARTUP MOV BL,0 MOV AL,X TEST AL,0FFH JNZ NEXT1 INC BL NEXT1: MOV AL,Y TEST AL,0FFH JNZ NEXT2 INC BL NEXT2: MOV AL,Z TEST AL,0FFH JNZ NEXT3 INC BL NEXT3: CMP BL,0 JBE NEXT4 MOV DH,BL JMP QUIT NEXT4: MOV AL,X MOV AH,Y ADD AH,AL MOV AL,Z ADD AH,AL MOV W,AH QUIT: .EXIT END

2、编制一个查表程序将16进制数5B37H转换成ASCII码,结果依次存入BLOCK数组的4个字节中,即程序执行后BLOCK中4个字节内容成为37H,33H,42H,35H。 .MODEL SMALL .586 .DATA

BLOCK DB 4 DUP(?)

TBL DB '0123456789ABCDEF' .CODE .STARTUP MOV AX,5B37H MOV BX,OFFSET TBL MOV DX,AX MOV CX,4 MOV DI,0

NEXT: MOV AL,DL AND AL,0FH XLAT

MOV BLOCK[DI],AL PUSH CX MOV CL,4 SHR DX,CL POP CX INC DI

LOOP NEXT .EXIT END

3、某班一共30人,假设其微机原理成绩(无满分100)以其组合BCD码形式存放在以BLOCK为首的内存单元中,试编程找出其中最高分和最低分分别存入MAX和MIN单元;并计算出全班总分,以其组合BCD码形式存放在以TOTAL为首的单元中。 .MODEL SMALL .586 .DATA

BLOCK DB 60H,90H,80H,75H,...;(30个分数的组合BCD码) MAX DB ? MIN DB ? TOTAL DW ? .CODE .STARTUP MOV CX,29 MOV AL,BLOCK MOV DL,BLOCK

MOV BX,OFFSET BLOCK AGAIN: INC BX

CMP AL,[BX] JAE NEXT1 MOV AL,[BX] NEXT1:CMP DL,[BX] JBE NEXT2 MOV DL,[BX] NEXT2: LOOP AGAIN

MOV MAX,AL MOV MIN,DL XOR AX,AX

MOV SI,OFFSET BLOCK MOV CX,30

LOP: ADD AL,[SI] DAA

ADC AH,0 XCHG AH,AL DAA

XCHG AH,AL INC SI

MOV TOTAL,AX LOOP LOP .EXIT END

本文来源:https://www.bwwdw.com/article/ldfg.html

Top