我是靠谱客的博主 健忘方盒,最近开发中收集的这篇文章主要介绍汇编语言程序设计实验二 带$字符串的输出 一. 参考例题二. 实验题目,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 一. 参考例题

统计一个数据串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

最后

以上就是健忘方盒为你收集整理的汇编语言程序设计实验二 带$字符串的输出 一. 参考例题二. 实验题目的全部内容,希望文章能够帮你解决汇编语言程序设计实验二 带$字符串的输出 一. 参考例题二. 实验题目所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部