2015-04-03 66 views
-2

我有一個全局變量,它計數一個函數被訪問的次數。 Eeverytime我訪問特定的功能,該功能的最後一行是這樣的:添加var_count,1在x86中打印一個整數(作爲變量)

然後,我有一個打印這個全局變量另一個函數,問題是:我不能打印它...

這裏是我'印刷代碼:

.data 

var_count db 0 

.code 

...piece of code 


mov ah,9 
lea dx, var_count 
int 21h 


...piece of code 
+0

這可能有幫助:http://stackoverflow.com/q/13166064/3258851 – 2015-04-03 00:48:14

+0

你確定1個字節就夠了嗎?功能09h在21h中打印字符串 – 2015-04-03 12:11:08

+0

。不可能直接打印數字。當你想要做的時候,你必須編寫自己的程序來做到這一點。如何?通過將存儲在變量中的值除以10,然後將字符'0'的ASCII碼添加到提醒中,然後使用一些用於打印字符的函數來打印該值。功能02h。有關更多信息和指導,請在此處搜索一下相似的問題。 – Gondil 2015-04-04 15:11:53

回答

1

這是你的計劃可能會變成什麼樣。我使用了您在評論中編寫的大部分代碼。當創建我們的電話號碼的文本版本時,我們開始寫作,並開始寫作。

.data 

var_count db 0 
txt_buffer db ' ','$' ;3 spaces is enough when converting a byte 

.code 

...piece of code 

mov di, offset txt_buffer + 3 
mov al, var_count 
mov ah ,0 
mov cx, 10 
loopit: 
mov dx, 0 
div cx 
add dl,'0' 
dec di 
mov [di], dl 
cmp ax,0 
jnz loopit 
mov dx, di 
mov ah, 9 
int 21h 

...piece of code