顺序结构
目录
有两个自变量VAR1和VAR2,编写程序实现交换其值的功能。
将输入的大写字母转换成小写字母输出
思考:如何接收输入的字符, 1号功能
如何进行交互, 9号功能
如何将大写字母转为小写字母, ADD
如何把结果输出 2号功能
DATA SEGMENT
D1_input DB 'Please input a letter from A to Z: $' ;提示要输入的字母
D2_output DB 0DH, 0AH, 'Convert result is: $' ;显示结果前的提示语句
DATA ENDS
STACK SEGMENT STACK ;开辟堆栈段用于存放数据
DB 200 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
START: MOV AX, DATA
MOV DS, AX
MOV AH, 09H ;调用9号功能将字符的显示到屏幕上
LEA DX, D1_input ;将提示输入语句的有效地址(偏移地址)存放到DX中
INT 21H ;21号中断语句
MOV AH, 1 ;调用1号功能,接收从键盘键入的值,接收的值保存在AL的寄存器中
INT 21H
PUSH AX ;对AX进行压栈,将输入到AL中的数据存入
MOV AX,09H ;调用9号功能,将输出结果的提示语句显示
LEA DX, D2_input ;DX指向要显示语句的首地址
INT 21H
POP AX ;出栈
ADD AL, 20H ;ascll码中A-Z的表示是 41H-5AH,a-z的表示是61H-7AH
MOV AH, 2 ;调用2号功能将字符显示
MOV DL, AL
INT 21H
MOV AH, 4CH
INT 21H
CODE EDNS
END START
LEA Load effect address 取有效地址,也就是偏移地址
1号功能详细解释
语句格式:
MOV AH, 09H
INT 21H
1号功能会从键盘接收一个字符
2号功能详细解释
语句格式:
MOV AH, 2
MOV DL, 'A'
INT 21H
2号功能会将存储在DL中的字符显示,并将光标后移一格
9号功能详细解释
MOV AH, 09H
MOV DX, OFFSET DATA ;DATA为字符串的存放区
INT 21H
9号功能会将目标地址中以‘$’结尾的字符串显示在屏幕上
有两个自变量VAR1和VAR2,编写程序实现交换其值的功能。
DATA SEGMENT
VAR1 DW 100
VAR2 DW 200
DATA ENDS
STACK SEGMENT STACK
DW 50 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK
START: MOV AX, DATA
MOV DS, AX
MOV AX, VAR1
XCHG AX, VAR2
MOV VAR1, AX
MOV AH, 4CH
INT 21H
CODE ENDS
END START
XCGH中,如果要交换两个内存操作数,则用寄存器作为临时容器,把 MOV 指令与 XCHG 指令一起使用: