曾經有乙個程式,橫在我的面前,我沒有辦法搞定它,它就是:來自
「彙編通訊」第一期裡的乙個程式。無論怎麼弄,總是說「應用程式錯誤」,用win32da**也查不出問題所在。
;在訊息框裡顯示al中的數值
.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib
.data
msgboxcaption db "結果!",0
msgboxtext db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.code
start:
mov al,97h
call showal
invoke messagebox, null, addr msgboxtext, addr msgboxcaption, mb_yesnocancel
invoke exitprocess, null
showal proc
mov dl,al ;儲存al
mov cl,04
shr al,cl ;al高4位移至低4位
mov cx,02h ;迴圈2次
xor ebx,ebx
mov esi,offset msgboxtext
low4bit:
cmp al,09
jbe larger ;低4位超過9
add al,07
larger:
add al,30h
mov [esi],al
inc esi
mov al,dl ;恢復儲存
and al,0fh
loop low4bit
retshowal endp
end start
就是它,把我搞得焦頭爛額的,現在終於被我給執行了起來,當然,改得菜菜的,呵呵~~:
.386
.model flat,stdcall
option casemap:none
include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib
.data
msgboxcaption db "結果!",0
msgboxtext db 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
.code
start:
mov al,97h
call showal
invoke messagebox, null, addr msgboxtext, addr msgboxcaption, mb_yesnocancel
invoke exitprocess, null
showal proc
mov dl,al ;儲存al
mov cl,04
shr al,cl ;al高4位移至低4位
xor ebx,ebx
mov esi,offset msgboxtext
.while ebx < 2
add al,30h
mov [esi+ebx],al
inc ebx
mov al,dl
and al,0fh
.endw
retshowal endp
end start
第乙個軟體的成功
2004年12月10日終於完成了屬於我和侵室哥們的第乙個作品 進銷存管理系統 這個小軟 件我們用了一周的時間才開發成功。為了這個小軟體我們哥幾個三個黑夜都沒有合上眼睛,在這 時,我真正的體會到了程式設計的樂趣,也領會到了程式設計時的困難,但我們沒有被重重困難所屈服,最終 做出了乙個屬於我們的第乙個軟...
Ubuntu下第乙個C程式的成功執行
對於每個新手來說,進入ubuntu最想做的事莫過於在終端 terminal 裡執行自己的第乙個c c 程式 hello.c hello.cpp 了。很多語言書籍都是預設搭載好執行環境的,而ubuntu預設是不包含編輯器vim。假設你和我一樣,展現在自己眼前的是一台剛安裝好的ubuntu電腦,下面我們...
第乙個視窗程式
程式截圖 程式 include lresult callback wndproc hwnd,uint,wparam,lparam int winapi winmain hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icm...