📄 pro6_4.asm
字号:
; PROJ6_4.ASM-
;
; A PutString routine. You are to write a subroutine that outputs the
; zero terminated string pointed at by the ES:DI register pair. Your
; subroutine should preserve all registers it modifies. It should *not*
; print the zero terminating byte.
dseg segment para public 'data'
TestString byte "This is a test string to print", 0dh, 0ah, 0
TSAdrs dword TestString
; Put any variables you need here.
dseg ends
cseg segment para public 'code'
assume cs:cseg, ds:dseg
; PutChar prints the character in the AL register to the display.
PutChar proc
push ax ;Preserve value in AH
mov ah, 0eh ;BIOS call to print a character.
int 10h
pop ax ;Restore AH's value.
ret
PutChar endp
; Here is the routine you've got to write for this project:
; ES:DI points at the zero terminated string to print.
; Be sure to preserve all registers.
; You call call the PutChar routine to print the individual characters.
PutString proc
ret
PutString endp
; Main program to test the PutString routine.
Main proc
mov ax, dseg
mov ds, ax
les di, TSAdrs ;Load address of string into es:di
call PutString
Quit: mov ah, 4ch ;DOS opcode to quit program.
int 21h ;Call DOS.
Main endp
cseg ends
sseg segment para stack 'stack'
stk byte 1024 dup ("stack ")
sseg ends
zzzzzzseg segment para public 'zzzzzz'
LastBytes byte 16 dup (?)
zzzzzzseg ends
end Main
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -