;
从键盘接收一个4位的十进制数,将它转化为16进制并输出
DATA SEGMENT
NUMDW 0
CRLFDB 0AH,0DH,24H
DATA ENDS
STACK SEGMENT PARA STACK
DW 128 DUP(?)
TOPLABEL WORD
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,TOP
MOV CX,4
L1:MOV AH,1
INT 21H
SUB AL,30H
CBW
MOV BX,10
PUSH AX
MOV AX,NUM
MUL BX
POP BX
ADD AX,BX
MOV NUM,AX
LOOP L1
PUSH AX
MOV AH,9
LEA DX,CRLF
INT 21H
POP AX
XOR CX,CX
MOV BX,16
L2:XOR DX,DX
DIV BX
PUSH DX
INC CX
CMP AX,0
JNZ L2
L5:POP DX
CMP DL,10
JBL3
ADD DL,37H
JMP L4
L3:ADD DL,30H
L4:MOV AH,2
INT 21H
LOOP L5
MOV AH,4CH
INT 21H
CODE ENDS
MAIN ENDP
END START
推荐阅读
- 汇编语言(3) 条件处理
- 汇编语言(4)整数运算
- 汇编语言(5)--高级过程
- ARM|GNU ARM中的汇编指令.word
- 本实验题目(将一个文件myprog.txt里面的内容中的小写字母全部转化为大写,其他字符保持不变,且不能使用临时文件。(对前面一道题目的改进版本))
- Link指向一个字线性表,其中的首单元保存线性表的长度,编制程序 ;将该线性表中内容为0FFFFH的项删除,并更新线性表长度 ;线性表长度是指线性表中实际
- Link指向一个字线性表,其中的首单元保存线性表的长度,编制程序将该线性表中内容为0FFFFH的项删除,并更新线性表长度
- 试编写一个程序,实现对N字节的NUM的值求补(类似NEG的操作),并把求反后的值仍保存在NUM中。求补即是取反后加1