微型计算机原理与接口技术-实验二

实验二

字符显示程序

请编写一个循环结构的程序,通过使用02H号功能调用,依次在屏幕上显示26个英文字母的大写形式。

mov dl,"A"
mov dh,"a"
mov ah,02H 
mov cx,26
loop1:    
    int 21H
    xchg dl,dh
    int 21H
    xchg dl,dh
    inc dl
    inc dh
loop loop1

字符转换显示程序

由键盘输入一个字母的小写形式,将其变换为大写形式输出。通过这个小程序的编写,熟悉01H号功能调用,从键盘输入一个字符,再利用02号功能调用,由显示器显示出该字符。

mov ah,01h
int 21h
mov dl,al
sub dl,32
mov ah,02h
int 21h

数的输出

DOS功能调用也可以用于程序调试过程中,运算结果的显示,尝试使用02H号功能调用,修改上次实验的题目3.1,将表达式的运算结果显示在屏幕上。

data segment
    A db 12
    B db 55
    ans dw ?
data ends
code segment
    assume cs:code,ds:data
begin:
    mov ax,data
    mov ds,ax  
    mov ax,0 
    mov al,A
    add al,B  
    mov dx,0  
    mov bx,2
    div bx
    mov ans,ax
    mov al,A
    and al,B
    mov bl,2
    mul bl
    sub ans,ax 
    mov cx,4
Loop1:     
    mov bx,ans
    and ans,0F000H
    shr ans,12
    mov dx,ans 
    cmp dl,9
    jbe d 
    jmp w
d:
    add dl,'0'
    jmp Print
w: 
    sub dl,10
    add dl,'A'
    jmp Print
Print:
    mov ah,02h
    int 21h 
    mov ans,bx
    shl ans,4 
loop Loop1
code ends
end begin        

显示从键盘输入的一串字符

从键盘输入一字符串,然后在下一行,将该字符串输出。通过该程序的编写,熟悉DOS功能调用的09号功能-字符串输出和10号功能调用-字符串输入。(“换行”符的ASCII码值为0AH)

data segment
    save db 20,0,20 dup()  
data ends

code segment
    assume cs:code,ds:data
start:   
    mov ax,data
    mov ds,ax
    mov ah,0ah
    int 21h  
    mov bl,save+1
    add bl,2
    mov save[bx],'$' 
    mov dl,0ah
    mov ah,02h 
    int 21h  
    mov dl,0dh
    mov ah,02h 
    int 21h
    lea dx,save
    add dx,2
    mov ah,09h
    int 21h
    mov ax,4c00h
    int 21h
code ends
end start
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落雪幻念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值