簡體   English   中英

如何使用程序集獲取整數輸入

[英]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
  • 對於每個數字cresult *= 10; result += (c - '0'); result *= 10; result += (c - '0');
  • result保存字符串的數值

查看二進制編碼的小數BCD。 它可以更有效地做到這一點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM