从头开始,Boot02(将打印字符串功能做成函数)

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

将在屏幕上打印字符串的功能分装为函数。便于今后使用。

;helloworld.asm

org 07c00h

;setup stack.setup stack at most top of 640K

start: mov ax, 0x0FC0

mov ss, ax

mov ax, 0x0400

mov sp, ax

mov bx, msg1

push bx

call dumpstr

pop bx

jmp $

dumpstr:

;backup used registor

push ax

push bx

push cx

push dx

push bp

;get parameter

mov bp, sp

add bp, 12

mov bx, [bp]

;calculator string length

xor cx, cx

strlop: mov ax, [bx]

cmp ax, 0x0

jz calend

inc cx

inc bx

jmp strlop

calend:

push cx

mov ah, 0x03

xor bh, bh

int 0x10

pop cx

mov bx, 0x0007

push bp

mov bp, [bp]

mov ax, 0x1301

int 0x10

pop bp

;restore registor

pop bp

pop dx

pop cx

pop bx

pop ax

ret

msg1: DB 13, 10

DB 'Hello World'

DB 13, 10, 13, 10

times 510-($-$$) db 0

dw 0aa55h

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有