????????1. 掌握DOS系统功能调用的编程方法
????????2. 掌握汇编语言程序设计方法,自己编写程序,并调试运行验证结果。
1.在显示器上的输出窗口显示A-Z共26个大写英文字母。
? ? ? ? ·代码:
datas segment
????zimu db "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z $"
datas ends
stacks segment stack 'stack'
????dw 100 dup(0)
stacks ends
codes segment
????assume cs:codes, ds:datas, ss:stacks
start:
????mov ax, datas
????mov ds, ax
????mov dx,offset zimu
????mov ah, 9
????int 21h
code ?segment ends
end start
? ? ? ? ·运行结果:
2.利用“LEA”去字符变量的偏移地址指令,在屏幕上依次显示“1”,?“2”,“3”,“A”,“B”,“C”6个字符。
? ? ? ? ·代码:
datas segment
zifu db "123ABC$"
datas ends
stacks segment stack 'stack'
dw 100 dup(0)
stacks ends
codes segment
assume cs:codes, ds:datas, ss:stacks
start:
mov ax, datas
mov ds, ax
lea dx, zifu ; 使用 LEA 指令获取字符串的偏移地址
mov ah, 9 ; 功能号:在屏幕上显示一个字符串
int 21h ; 调用 DOS 中断显示字符串
code segment ends
end start
? ? ? ? ·运行结果:
3.利用DOS调用功能“9”号功能,在显示器上显示字符串,“Hello, World!”.
? ? ? ? ·代码:
data segment
zifu db "Hello, World!$"
data ends
stacks segment stack
dw 100 dup(0)
stacks ends
codes segment
assume cs:codes, ds:data, ss:stacks
start:
mov ax, data
mov ds, ax
lea dx, zifu ; 使用 LEA 指令获取字符串的偏移地址
mov ah, 9 ; 功能号:在屏幕上显示一个字符串
int 21h ; 调用 DOS 中断显示字符串
code segment ends
end start
? ? ? ? ·运行结果: