都说汇编难,确实难入门啦?今儿终于写出我第一个汇编!高者莫见笑,写出来或许对跟我一样的有些帮助!

一道实验题,现在屏幕上输出一样字符串please input a character:
之后在等待输入任一个字符然后在屏幕上输出其ASCII码,
;-------------------------DEFINE  DATA SEGMENT

DATA SEGMENT 

STR DB 'please input a character:',0AH,0DH,'
ASCII DB 8 DUP(?),0AH,0DH,' DATA ENDS ;--------------------------DEFINE STACK SEGMENT STACK SEGMENT PARA STACK 'STACK' DB 50 DUP(?) STACK ENDS ;------------------------DEFINE CODE SEGMENT CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START PROC FAR BEGIN: PUSH DS MOV AX,0 PUSH AX ;------------------------- MOV AX,DATA MOV DS,AX ;--------------------------------THERE IS THE CODE THAT IS THE REAL PART. ;----------------First:Display the prompt info MOV DX,OFFSET STR MOV AH,09H INT 21H ;-----------------Display end ;----------------Second:Waitting for input MOV AH,00H INT 16H ;----------------After the codes above the line ,one character has been moved to ;----------------the register named AL ;----------------Third: THE CORE CODES MOV AH,0H; MOV BX, OFFSET ASCII+7 MOV CX,8H MOV DL,1 MOV DH,1 AGIAN: AND DL,AL CMP DL,0 JNZ PRESENT1 JZ PRESENT0 ;---------------- PRESENT0: MOV BYTE PTR [BX],'0' JMP NEXT ;---------------- PRESENT1: MOV BYTE PTR [BX],'1' JMP NEXT NEXT :DEC BX SAL DH,1 MOV DL,DH LOOP AGIAN ;---------------------------CORE CODES ENDS ;-----------DISPLAY RESULT MOV DX,OFFSET ASCII MOV AH,09H INT 21H ;--------------ENTER ANY KEY TO EXIT MOV AH,00H INT 16H ;MOV AH,09H ;INT 21H ;-------------------- RET START ENDP CODE ENDS END BEGIN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值