概述
一. 参考例题
统计一个数据串sty1中的负数、零和正数的个数,将其分别存放在变量nm、zm和pm中。
DATA SEGMENT
STY1 DB -1, -128, 0, 0, 0, 1, 15, 7, 127
NM DB 0
ZM DB 0
PM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS: DATA
START: MOV AX, DATA
MOV DS, AX
MOV CX, NM-STY1;
MOV BX, OFFSET STY1
AA: MOV AL, [BX]
CMP AL, 0
JGE L1
INC NM
JMP BB
L1: JG L2
INC ZM
JMP BB
L2: INC PM
BB: INC BX
LOOP AA
MOV AH, 4CH
INT 21H
CODE ENDS
END START
二. 实验题目
编写完整的汇编语言程序,实现如下功能:
1.在屏幕上显示 Please select a letter from a, b, c : 提示用户输入 a,b,c 中的一个字母。
2.当输入为 a 时,显示 apples are 4$ per Kg
当输入为 b 时,显示 bananas are 6$ per Kg
当输入为 c 时,显示 cranberries are 8$ per Kg
3.当输入其他字符时,显示 Are you kidding me ? 并重新提示用户输入。
运行结果如下图所示。
DATA SEGMENT
D1 DB 0DH, 0AH, 'Please select a letter from a,b,c:', 0DH, 0AH, '$'
D2 DB 0DH, 0AH, 'apples are 4', '$'
D3 DB 0DH, 0AH, 'bananas are 6', '$'
D4 DB 0DH, 0AH, 'cranberries are 8', '$'
D5 DB '$'
D6 DB ' per kg', 0DH, 0AH, '$'
D7 DB 0DH, 0AH, 'Are you kidding me?', 0DH, 0AH, '$'
DATA ENDS
CODE SEGMENT
ASSUME DS: DATA, CS: CODE
START: MOV AX, DATA
MOV DS, AX
MOV CX, 3
AGAIN: MOV DX,OFFSET D1 ;输出提示字符串 'Please select a letter from a,b,c:'
MOV AH,9
INT 21H
MOV AH,1 ;等待用户输入单字符
INT 21H
CMP AL,'a'
JZ apple
CMP AL,'b'
JZ banana
CMP AL,'c'
JZ cran
MOV DX,OFFSET D7 ;输出提示字符串 'Are you kidding me?'
MOV AH,9
INT 21H
JMP AGAIN
APPLE: MOV DX,OFFSET D2 ;输出提示字符串 'apples are 4$ per Kg'
CALL UNIT
JMP EXIT
BANANA:MOV DX,OFFSET D3 ;输出提示字符串 'bananas are 6$ per Kg'
CALL UNIT
JMP EXIT
CRAN: MOV DX,OFFSET D4 ;输出提示字符串 'cranberries are 8$ per Kg'
CALL UNIT
JMP EXIT
UNIT PROC
MOV AH,9 ;9号功能调用
INT 21H
MOV DL,D5 ;输出提示字符 '$'
MOV AH,2
INT 21H
MOV DX,OFFSET D6 ;输出提示字符串 'per Kg'
MOV AH,9
INT 21H
RET
UNIT ENDP
LOOP AGAIN
EXIT: MOV AH,4CH
INT 21H
CODE ENDS
END START
最后
以上就是健忘方盒为你收集整理的汇编语言程序设计实验二 带$字符串的输出 一. 参考例题二. 实验题目的全部内容,希望文章能够帮你解决汇编语言程序设计实验二 带$字符串的输出 一. 参考例题二. 实验题目所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复