计算机汇编语言高手帮个忙!急急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/07 03:09:53
编程题:
1.在DAT字节单元有一个符号数,判断其正负,如为正数,则在屏幕上显示‘+’号;如为负数,则显示‘-’号;如果是0,则显示0.
2.从键盘输入1到5中的任何一个数,分别在屏幕上显示 ‘A’、‘B’、‘C’、‘D’、‘E’。键入其他字符则显示‘*’.

1.在DAT字节单元有一个符号数,判断其正负,如为正数,则在屏幕上显示‘+’号;如为负数,则显示‘-’号;如果是0,则显示0.

; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
DAT db 123
Start: push cs
pop ds ;使数据段与代码段同段
mov dl,'0'
cmp DAT,0
jz Disp_Chr
mov dl,'+'
test DAT,80h
jz Disp_Chr
mov dl,'-'
Disp_Chr: mov ah,02h
int 21h
Exit_Proc: mov ah,4ch ;结束程序
int 21h
Code ENDS
END Start ;编译到此结束

2.从键盘输入1到5中的任何一个数,分别在屏幕上显示 ‘A’、‘B’、‘C’、‘D’、‘E’。键入其他字符则显示‘*’.
; 本程序通过编译,运行正确
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:显示指定地址(Str_Addr)的字符串
; 入口:
; Str_Addr=字符串地址(要求在数据段)

; 用法: Output Str_Addr
; 用法举例:Output PromptStr

Output MACRO Str_Addr
lea dx,Str_Addr
mov ah,9
int 21h
EndM
; -----------------------------------------
; 功能:输出一个字符
; 入口:dl=要显示的字符