灌灌水...

看板FcuIecs-Ding作者 (Quan soy yo?)時間24年前 (2001/12/28 02:21), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/3 (看更多)
這個版真乾呢.... 把剛剛寫好的東東貼上來灌水... (其實是不曉得怎麼將東西傳到自己的空間...) 這是抓psp的參數來做四則運算的,必須編譯成.com檔 檔名是a.com的話,執行時就是 c:\>a 371+179 or c:\>a 1478-26 or c:\>a 24*69 or c:\>a 12786/54 就會秀出結果了 ;**************************************************************** ;* God bless us * ;* ------------------------------------------------------ * ;* AUTHOR: Wang-DungJai * ;* FUNCTION: Hope to pass the exam * ;**************************************************************** .model small .code org 82h para db ? org 100h main: jmp init number1 dw ? number2 dw ? temp dw ? count db ? show_flag db 0 error_mes db 'Your input is worng!$' init: mov number1,0 mov number2,0 mov si,0 get_number1: mov al,[para + si] cmp al,'0' jl operator cmp al,'9' jg operator and al,0fh xor ah,ah mov temp,ax mov ax,number1 mov bx,10 mul bx add ax,temp mov number1,ax inc si jmp get_number1 operator: cmp al,2ah jl error cmp al,2fh jg error mov count,al inc si get_number2: mov al,[para + si] cmp al,'0' jl compute cmp al,'9' jg compute and al,0fh xor ah,ah mov temp,ax mov ax,number2 mov bx,10 mul bx add ax,temp mov number2,ax inc si jmp get_number2 compute: mov dl,count cmp dl,'+' je plus cmp dl,'-' je minus cmp dl,'*' je multi cmp dl,'/' je diff jmp error plus: mov ax,number1 add ax,number2 call show_number jmp exit minus: mov ax,number1 sub ax,number2 call show_number jmp exit multi: mov ax,number1 mov bx,number2 mul bx call show_number jmp exit diff: mov ax,number1 mov bx,number2 xor dx,dx div bx call show_number jmp exit error: mov dx,offset error_mes mov ah,09h int 21h exit: mov ah,4ch int 21h show_number proc mov bx,10000 mov dx,0 div bx mov cx,dx mov dl,al cmp al,0 jne run1 mov al,show_flag cmp al,0 je kilo run1: mov show_flag,1 or dl,30h mov ah,02h int 21h kilo: mov ax,cx mov bx,1000 mov dx,0 div bx mov cx,dx mov dl,al cmp al,0 jne run2 mov al,show_flag cmp al,0 je hund run2: mov show_flag,1 or dl,30h mov ah,02h int 21h hund: mov ax,cx mov bl,100 div bl mov cl,ah mov dl,al cmp al,0 jne run3 mov al,show_flag cmp al,0 je ten run3: mov show_flag,1 or dl,30h mov ah,02h int 21h ten: xor ah,ah mov al,cl mov bl,10 div bl mov cl,ah mov dl,al cmp al,0 jne run4 mov al,show_flag cmp al,0 je dig run4: or dl,30h mov ah,02h int 21h dig: mov dl,cl or dl,30h int 21h ret show_number endp end main -- ┌┌┌┌ Origin: 小魚的紫色花園 <fpg.twbbs.org> 140.112.200.214 ───┐┐┐┐
標題: 灌灌水... 時間: Fri Dec 28 02:21:28 2001 這個版真乾呢.... 把剛剛寫好的東東貼上來灌水... (其實是不曉得怎麼將東西傳到自己的空間...) 這是抓psp的參數來做四則運算的,必須編譯成.com檔 檔名是a.com的話,執行時就是 c:\>a 371+179 or c:\>a 1478-26 or c:\>a 24*69 or c:\>a 12786/54 就會秀出結果了 ;**************************************************************** ;* God bless us * ;* ------------------------------------------------------ * ;* AUTHOR: Wang-DungJai * ;* FUNCTION: Hope to pass the exam * ;**************************************************************** .model small .code org 82h para db ? org 100h main: jmp init number1 dw ? number2 dw ? temp dw ? count db ? show_flag db 0 error_mes db 'Your input is worng!$' init: mov number1,0 mov number2,0 mov si,0 get_number1: mov al,[para + si] cmp al,'0' jl operator cmp al,'9' jg operator and al,0fh xor ah,ah mov temp,ax mov ax,number1 mov bx,10 mul bx add ax,temp mov number1,ax inc si jmp get_number1 operator: cmp al,2ah jl error cmp al,2fh jg error mov count,al inc si get_number2: mov al,[para + si] cmp al,'0' jl compute cmp al,'9' jg compute and al,0fh xor ah,ah mov temp,ax mov ax,number2 mov bx,10 mul bx add ax,temp mov number2,ax inc si jmp get_number2 compute: mov dl,count cmp dl,'+' je plus cmp dl,'-' je minus cmp dl,'*' je multi cmp dl,'/' je diff jmp error plus: mov ax,number1 add ax,number2 call show_number jmp exit minus: mov ax,number1 sub ax,number2 call show_number jmp exit multi: mov ax,number1 mov bx,number2 mul bx call show_number jmp exit diff: mov ax,number1 mov bx,number2 xor dx,dx div bx call show_number jmp exit error: mov dx,offset error_mes mov ah,09h int 21h exit: mov ah,4ch int 21h show_number proc mov bx,10000 mov dx,0 div bx mov cx,dx mov dl,al cmp al,0 jne run1 mov al,show_flag cmp al,0 je kilo run1: mov show_flag,1 or dl,30h mov ah,02h int 21h kilo: mov ax,cx mov bx,1000 mov dx,0 div bx mov cx,dx mov dl,al cmp al,0 jne run2 mov al,show_flag cmp al,0 je hund run2: mov show_flag,1 or dl,30h mov ah,02h int 21h hund: mov ax,cx mov bl,100 div bl mov cl,ah mov dl,al cmp al,0 jne run3 mov al,show_flag cmp al,0 je ten run3: mov show_flag,1 or dl,30h mov ah,02h int 21h ten: xor ah,ah mov al,cl mov bl,10 div bl mov cl,ah mov dl,al cmp al,0 jne run4 mov al,show_flag cmp al,0 je dig run4: or dl,30h mov ah,02h int 21h dig: mov dl,cl or dl,30h int 21h ret show_number endp end main -- ┌┌┌┌ Origin: 小魚的紫色花園 <fpg.twbbs.org> 140.112.200.214 ───┐┐┐┐
因文章內容過長,因此無法取得中間部份內容。您可以登入 https://term.ptt.cc/ 查看完整內容。
文章代碼(AID): #yAsQf00 (FcuIecs-Ding)
文章代碼(AID): #yAsQf00 (FcuIecs-Ding)