彙編 實用函式

2021-06-27 09:50:12 字數 3611 閱讀 9092

/*目錄

*1.換行

*2.輸入字串

*3.輸出字串

*4.十進位制輸出

*5.十六進製制輸出

*6.氣泡排序

*7.輸出空格

*8.延時

*9.*/1.

backenter proc near

mov dl, 0ah ;回車換行

mov ah, 2

int 21h

mov dl, 0dh

mov ah, 2

int 21h

retbackenter endp

;2**********輸入字串**********

inputstr proc near

push bx

lea bx,instr

inloop:

mov ah,1 ;輸入字串

int 21h

cmp al,'$'

jz inover

mov [bx], al

inc bx

inc incount

jmp inloop

inover:

pop bx

retinputstr endp

;**********輸入字串**********

;3**********輸出字串**********

outputstr proc near

push si

push cx

lea si, instr ;instr 指向 將要輸出的字串

mov cl, incount

outloop:

mov dl, [si]

mov ah, 2

int 21h

inc si

loop outloop

pop cx

pop si

retoutputstr endp

;**********輸出字串**********

;4**********=將bx中的16位數十進位制輸出子程式**********==

putoutdec proc ;記得要定義nozero變數

push cx

mov nozero,0

mov cx,10000

call main

mov cx,1000

call main

mov cx,100

call main

mov cx,10

call main

mov cx,1

call main

cmp nozero,0 ;結果等於0則輸出0

jne ll

mov dl,30h

mov ah,2

int 21h

ll: pop cx

retmain proc

mov ax,bx

mov dx,0

div cx

mov bx, dx

mov dl, al

cmp dl,0

jne ll1

cmp nozero,0

jne ll1

jmp ll2

ll1:

mov nozero,1

add dl,30h

mov ah,2

int 21h

ll2:

retmain endp

putoutdec endp

;**********=將bx中的16位數十進位制輸出子程式**********==

;5**********十六進製制輸出(0-ffff)***************====

putouthex proc ;要定義兩個 temp 變數

push cx

mov temp, bx

mov temp1, bx

mov cl, 8

shr temp, cl

mov bx, temp ;將bx的高8位儲存

call main1

and temp, 00ffh

mov bx, temp1

call main1

pop cx

retmain1 proc

mov al, bl

mov cl, 4

shr al, cl ;將al/16 後 比較10 大於10 高位加一。

cmp al, 10

jb kk

add al, 7

kk:mov dl, al

cmp dl, 0

je kk2

add dl, 30h

mov ah, 2

int 21h

and bl, 0fh

kk2:

cmp bl, 10

jb kk1

add bl, 7

kk1:

mov dl, bl

add dl, 30h

mov ah, 2

int 21h

ret

main1 endp

putouthex endp

;**********十六進製制輸出(0-ffff)***************====

;6**********====氣泡排序*************************

mov cx, count ; 排10冒9

dec cx

loop1:

mov si, offset str0

mov bx, cx

loop2:

mov al, [si]

cmp al, [si+1]

jge next

xchg al, [si+1]

mov [si], al

next:

inc si

dec bx

jnz loop2

loop loop1

;**********====氣泡排序*************************

;7**********===輸出空格***************==

whitespace proc

mov dl, 20h

mov ah, 2

int 21h

ret

whitespace endp

;**********===輸出空格***************==

;8***************===延時*************************==

delay proc near

push dx

mov cx, 0f000h

loop8:

mov dx, 010h

loop9:

dec dx

jnz loop9

loop loop8

pop dx

ret

delay endp

;***************===延時*************************==

實用函式 define

define 此函式是定義乙個常量。語法 define name,value,case insensitive name 常量名 是必有的函式,用來定義常量名。value 常量的值 是必有的函式,用來指定常量的值。case insensitive 指定常量的名稱是否是不區分大小寫的 可選引數。如果設...

實用內建函式

dir obj 顯示物件的屬性,如果沒有提供引數,則顯示全域性變數的名字 help obj 以一種整齊美觀的形式 顯示物件的文件字串,如果沒有提供任何引數,則會進入互動式幫助。int obj 將乙個物件轉換為整數 len obj 返回物件的長度 open fn,mode 以 mode r 讀,w 寫...

vfp實用函式

一.字元及字串處理函式 字元及字串處理函式的處理物件均為字元型資料,但其返回值型別各異.1.取子串函式 格式 substr c,n1,n2 功能 取字串c第n1個字元起的n2個字元.返回值型別是字元型.例 取姓名字串中的姓.store 王小風 to xm substr xm,1,2 結果為 王 2....