汇编中cmp怎么用 用汇编语言编写,判断键盘输入的是否是Y若输入的是Y则显示YES Y若不是则显示NOT Y?

[更新]
·
·
分类:互联网
3867 阅读

用汇编语言编写,判断键盘输入的是否是Y若输入的是Y则显示YES

用汇编语言编写,判断键盘输入的是否是Y若输入的是Y则显示YES Y若不是则显示NOT Y?

Y若不是则显示NOT Y?

先用1号功能输入一个字符,用cmp指令比较,然后分别输出要求的两个字符串。这个程序编写的输入大小写y都能显示“YESY”,如果只要求输入大写“Y”才输出,就把程序中那行“andal,11011111b”去掉即可。
assumecs:code,ds:datadatasegmentyesydbYESY$notydbNOTY$dataendscodesegmentstart:movax,datamovds,axmovah,1int21handal,11011111b;如果输入的是小写字母,转换成大写cmpal,Yjzyyleadx,notyjmpdispyy:leadx,yesydisp:movah,9int21hmovax,4c00hint21hcodeendsendstart

汇编语言程序设计(从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示)?

code segment
assume cs:code
start:
mov cx,2
mov bl,0
next:
mov ah,1
int 21h
sub al,30h
jc next
cmp al,9h
ja next
add al,bl
daa
mov bl,al
mov dl,13
mov ah,2
int 21h
mov dl,10
int 21h
loop next
mov cl,4
mov dh,2
next1:
rol bl,cl
mov dl,bl
and dl,0fh
add dl,30h
mov ah,2
int 21h
dec dh
jnz next1
mov ah,1
int 21h
mov ah,4ch
int 21h
code ends
end start

汇编语言怎样将内存中的数据在屏幕上以十进制形式显示出来?

STACKS SEGMENT 堆栈段 DW 128 DUP(?) 注意这里只有128个字节STACKS ENDSDATAS SEGMENT 数据段,num dw 12334DATAS ENDSCODES SEGMENT 代码段 ASSUME CS:CODES,DS:DATAS START: MOV AX,DATAS 初始化 MOV DS,AX mov ax,num 取内存数到AX call show 显示十进制形式 mov ah,7 暂停 int 21h MOV AX,4C00H 退出程序 INT 21Hshow: xor cx,cx mov bx,10nx1: xor dx,dx div bx or dx,0e30h inc cx push dx cmp ax,0 jnz nx1nx2: pop ax int 10h loop nx2 retCODES ENDS END START