如 按”A” 键,输出41H
模板:
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AH,4CH
INT 21H
CODES ENDS
END START
刚接触汇编,连个小程序都不会写,求帮助!!!
------解决思路----------------------
当输入A时,以字符串形式,系统会以41H的形式保存
但是输出41H是以'41H','$'(09H型输出)形式,系统保存是34H,31H,48H
我刚学汇编3个礼拜,觉得这已经不算是小程序了。。
我用除法做的,当然用ROL,ROR移位更加简单
;这是自动生成的代码模板
STACKS SEGMENT STACK ;堆栈段
DW 128 DUP(?) ;注意这里只有128个字节
STACKS ENDS
DATAS SEGMENT ;数据段
;请在这里定义您的数据
BUF DB 10
DB ?
DB 10 DUP(?)
DATAS ENDS
CODES SEGMENT ;代码段
ASSUME CS:CODES,DS:DATAS
START: MOV AX,DATAS ;初始化
MOV DS,AX
;请在这里添加您的代码
MOV AH,01H
INT 21H ;接受数据
MOV AH,0H
MOV BX,16
DIV BX ;4、1分开到AX,DX
XCHG AX,DX
MOV CX,AX
ADD DX,30H ;输出4,以34H形式
MOV AH,02H
INT 21H ;输出完毕
MOV DX,CX ;调入1
ADD DX,30H ; 31H形式
MOV AH,02H
INT 21H ;输出41完毕
MOV AX,48H
MOV DX,AX ;48H是'H'的ascii码
MOV AH,02H
INT 21H
MOV AH,0AH ;等待输入,可以检验看一下
LEA DX,BUF
INT 21H
MOV AX,4C00H ;退出程序
INT 21H
CODES ENDS
END START