编程 微机原理

来源:百度知道 编辑:UC知道 时间:2024/05/13 05:48:57
1.求出Y=|X|+5,其中X为带符号的字节变量。

2.已知从BUFF单元存放有100个带符号字节数据,编程 统计其中正数,零和负数的个数,并将它们分别存放在COUNT1,COUNT2和COUNT3三个字节变量中。

3.已知一输出接口的数据口地址为20H,状态口地址为26H,状态口D0位为1表示输出设备忙,D0位为0表示输出设备空闲,编程实现将从1000H单元起绐连续存储的10个字节数据输出 到输出设备上。

1.
DATA SEGMENT
X DB -5
Y DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
MOV AL,X
CMP AL,0
JGE DYDY
NEG AL
DYDY:
ADD AL,5
MOV Y,AL
MOV AH,4CH
INT 21H
CODE ENDS
END START

2.
DATA SEGMENT
BUFF DB 100 DUP(?)
COUNT1 DB ?
COUNT2 DB ?
COUNT3 DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START:
MOV AX,DATA
MOV DS,AX
LEA SI,BUFF
MOV CX,100
NEXT:
CMP BYTE PTR [SI],0
JG GREATER
JL LESS
INC COUNT2
JMP NEXT1
GREATER:
INC COUNT1
JMP NEXT1
LESS:
INC COUNT3
NEXT1:
INC SI
LOOP NEXT
MOV AH,4CH
INT 21H
CODE ENDS
END START

3.
NEXT:
IN AL,26H
TEST AL,01H
JNZ NEXT
MOV SI,1000H
MOV CX,10
NEXT1:
MOV AL,[SI]
OUT 20H,AL
INC SI
LOOP NEXT1