[英]How to get integer input with assembly
Iam學習匯編,我發現了如何獲得用戶輸入
mov al, 3 ; system call number (sys_read)
xor bl, bl ; file descriptor 0 (stdin)
mov rcx, buf ; buffer to store input
mov dl, 4 ; Lenght of buffer
int 0x80 ; interrupt
但實際上這是一個正確的字符串? 我的問題是我如何得到一個整數值...所以,如果我輸入100我怎么得到值64h所以我可以添加,減去等而不是一個字符串,每個字節是數字的ascii表示,然后如何做我輸出一個像64h的值到屏幕,它顯示100? 我不需要代碼只是一些指導
謝謝!
獲得ASCII表示后,您可以使用數字按順序編碼的事實逐位構建結果。 在偽代碼中,從左到右閱讀(即從最高位開始):
result
初始化為0 c
, result *= 10; result += (c - '0');
result *= 10; result += (c - '0');
result
保存字符串的數值 查看二進制編碼的小數BCD。 它可以更有效地做到這一點
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.