assembly language programm--define your own function

比眉伴天荒 2023-10-12 07:27 152阅读 0赞

**start:
mov ax,12345d ; move data 12345 to ax
call print_num ;call print_num function that defined by yourself
mov ah,4Ch ;INT 21h / AH=4Ch - return control to the operating system (stop program)
int 21h

print_num: ;define your own function
pusha ;push all registers’s data into stack
mov cx,0
mov bx,10d
lp1:
mov dx,0
inc cx ;increase cx,cx will be used in next loop name lp2
div bx ;ax divided by bx
cmp dx,0 ;compare dx with 0
push dx ;push remainder into stack
jne lp1 ;jne means jump if not equal

mov ah,02h
dec cx ;decrease cx
pop dx ;get rid of 0 on the top of stack

lp2:

pop dx ;pop data from stack
add dl,48 ;entry: DL = character to write, ASCII code 48—>0d**

int 21h ;INT 21h / AH=2 - write character to standard output.

loop lp2 ;this loop won’t be end untill cx decrease to 0

popa ;pop out all datas in stack which push in by ‘pusha’ command

output:

Center

发表评论

表情:
评论列表 (有 0 条评论,152人围观)

还没有评论,来说两句吧...

相关阅读

    相关 build your own lisp ch5

    chapter 5 语言 程序语言是什么 是与自然语言很相似的,有着语法结构的,有一些规则来描述它是或者不是什么用于说的有效的事物。我们在读或者写的时候,都在下意识的学