初學彙編之第三個程式(擴充套件乙個二進位制數)

2021-05-25 23:36:24 字數 2717 閱讀 3630

code:

mlength=128   

sseg    segment para    stack       ;堆疊段   

db  256 dup (0)   

sseg    ends   

dseg    segment   

tab dw  0000000000000011b,0000000000001100b   

dw  0000000000110000b,0000000011000000b   

dw  0000001100000000b,0000110000000000b   

dw  0011000000000000b,1100000000000000b   

mess0   db  'please input a numble of 8th:$'

buff    db  mlength   

db  ?   

db  10  dup (0)   

dseg    ends   

;   

cseg    segment   

assume  ds:dseg,cs:cseg,ss:sseg   

start:  mov ax,dseg   

mov ds,ax   

mov dx,offset   mess0   

call    dispmess   

mov dx,offset   buff     ;接收乙個八位二進位制數   

mov ah,10   

int 21h   

call    newline   

mov si,0        ;位址指標   

mov dl,0        ;放結果的地方   

mov cl,8        ;總長度   

inc si   

sub dh,'0'

call    xiong   

xor ah,ah   

mul dh   

add dl,al   

inc si   

dec cl   

cmp cl,0   

jnbe    qqq     ;這段執行完再dl得到二進位制真數   

mov al,dl   

call    ccc     ;bx得到擴充套件後的數   

call    echo   

mov ah,4ch   

int 21h   

ccc proc   

mov cl,8        ;八位計八次數   

mov si,0        ;查表指標   

mov bx,0        ;結果存放   

qi: shr al,1        ;右移位   

jnc yao     ;cf=0就跳   

mov dx,tab[si]  ;查表   

or  bx,dx   

yao:    inc si   

inc si   

dec cl   

cmp cl,0   

jnbe    qi   

ret   

ccc endp   

;   

echo    proc   

mov cl,16   

jj: shl bx,1   

jnc kk   

mov dl,'1'

call    echoch   

jmp oo   

kk: mov dl,'0'

call    echoch   

oo: dec cl   

cmp cl,0   

jnbe    jj   

ret   

echo    endp   

;   

newline proc   

push    ax   

push    dx   

mov dl,0dh   

mov ah,2   

int 21h   

mov dl,0ah   

mov ah,2   

int 21h   

pop dx   

pop ax   

ret   

newline endp   

;   

xiong   proc   

push    cx   

cmp cl,1   

je  li   

dec cl   

mov al,1   

aa: shl al,1   

loop    aa   

jmp bao   

li: mov al,1   

bao:    pop cx   

ret   

xiong   endp   

;   

dispmess    proc   

mov ah,9   

int 21h   

ret   

dispmess    endp   

;   

echoch      proc   

mov ah,2   

int 21h   

ret   

echoch  endp   

cseg    ends   

end start  

PHP擴充套件 第三個程式

這是乙個關於數學多項式運算的php擴充套件程式,綜合了php擴充套件開發時多種資料格式引入,希望對大家有所幫助。1.多項式相乘 這個函式表示的意思是 計算多項式 p x 2 x 6 5 x 5 3 x 4 x 3 7 x 2 7 x 20 求在 x 1,2,3,4,5,6處的函式值。1 在php p...

第三個Python程式 Python函式

函式函式的本質就是封裝,使用函式可以提高程式設計效率 區域性變數與全域性變數 變數的生效範圍 作用域 i 10 def func global k 在函式內宣告全域性變數k k 10 j 10 j 1 j的作用域在函式中,函式外不生效 print j str j 在函式內輸出j func 呼叫函式f...

7 12 拯救007 25分 第二個點第三個點

若沒有特判,第三個點和第二個點會出錯 7 12 拯救007 25分 在老電影 007之生死關頭 live and let die 中有乙個情節,007被毒販抓到乙個鱷魚池中心的小島上,他用了一種極為大膽的方法逃脫 直接踩著池子裡一系列鱷魚的大腦袋跳上岸去!據說當年替身演員被最後一條鱷魚咬住了腳,幸好...