【无标题】实验二 DOS系统功能调用(软件)

一、 实验目的
(1) 熟悉DOS系统功能调用中21H各功能的使用方法。.
(2) 了解汇编语言的程序结构。
二、实验内容
编写交互式程序,接受用户输入的数字。如果用户按下数字键1,应打印输出“The First!”;如果用户按下数字键2,应打印输出“The Second!”;如果用户按下数字键3,应打印输出“The Third!” 。
提示:
1、数据段应如下定义:string1 db ‘The first!’,0DH,0AH,’$’
2、DS的数值应等于seg string、DX的数值应等于offset string,使用9号功能就可以输出。
3、比较输入的数据是否1,、2、3,可以使用如下指令:
CMP AL,‘1’

四、实验报告

  1. 写出程序代码并适当加注释。
  2. 写出1、2、9、10号功能调用的作用及使用的方法。
  3. 该程序数据段中使用的0D、0A表示什么?$必须要加吗?
data segment
    ; add your data here!
    pkey db "press any key...$" 
    string1  db 'The first!',0DH,0AH,'$'
    string2  db 'The Second!',0DH,0AH,'$'
    string3  db 'The Third!',0DH,0AH,'$' 
    string4  db 'error!',0DH,0AH,'$'
ends

stack segment
    dw   128  dup(0)
ends

code segment  
    assume ds:data,cs:code
start:
; set segment registers:
    mov ax, data
    mov ds, ax
   
bS: mov ah,1  
    int 21h
    CMP	AL,'1'  
    jz b1   
    CMP	AL,'2'
    jz b2
    CMP	AL,'3'  
    jz b3   
    jmp b4
b1:
    lea dx, string1
    jmp AB     
b2:
    lea dx, string2
    jmp AB 
b3:
    lea dx, string3
    jmp AB
b4:
   lea dx,string4   
   jmp AB
AB:mov ah,9
     int 21h  
     jmp bS
    
 mov ax,4c00h
 int 21h  
ends

end start ; set entry point and stop the assembler.

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值