1樓:匿名使用者
除錯通過!
datas segment
s db 0,0,0,0,'$'
datas ends
stacks segment
;此處輸入堆疊段**
stacks ends
codes segment
assume cs:codes,ds:datas,ss:stacksstart:
mov ax,datas
mov ds,ax
mov si,0
lea si,s
add si,3
mov ax,9990
call dis ;顯示ax裡的值mov ah,0 ;等待輸入int 16h
mov ah,4ch
int 21h
dis:
mov cx,4
s1:xor dx,dx
mov bx,10
div bx
add dl,30h
mov [si],dl
dec si
loop s1
inc si
mov dx,si
mov ah,9
int 21h
retcodes ends
end start
2樓:做而論道
數字 0~127,就是一個 ascii 碼。
65,就是 a 的 ascii 碼;
66,就是 b 的 ascii 碼;
……650,可以轉換成 10 個 a。……
組合語言中字元怎樣轉換成ascii值
3樓:永恆
code segment
assume cs:code
org 100h
start: jmp beginchar1 db ?
asc db 13,10
asc2 db 3 dup(?)db 13,10,'$'
begin: push cs
pop ds
push cs
pop es
mov ah,1
int 21h
mov byte ptr char1,almov cx,3
lea si,asc2
add si,2
@1:mov ah,0
mov bl,10
div bl
add ah,30h
mov [si],ah
dec si
loop @1
lea dx,asc
mov ah,9
int 21h
mov ah,4ch
int 21h
code ends
end start
彙編程式設計:怎麼把字串轉換成ascii碼值?
4樓:匿名使用者
我自己簡單編了一個。。。 下面的程式是16位彙編,以十進位制數89158為例,編譯通過,執行正確。
; program name: dec_ascii.asm
dec_ascii segment
assume cs:dec_ascii,ds:dec_ascii
org 100h
start: jmp begin
ascii db 5 dup(' ') ;儲存十進位制無符號數的ascii
ascii_end db '$' ;字串結束標誌
decimal dw 89158 ; 十進位制無符號數,最大65535。
begin: lea di,ascii_end ; 字串尾地址
dec di
mov bx,10 ; 用於除10,取商數和餘數
std ;設定變址暫存器變址方向
mov ax,decimal ; 取十進位制無符號數
ascii_ctr: xor dx,dx
div bx ; 除10,取商數和餘數
xchg ax,dx ;交換商數和餘數
or al,30h ;轉換成ascii碼
stosb ;儲存ascii碼
mov ax,dx ;把商數放入ax中
cmp ax,0
ja ascii_ctr ;商數大於0,繼續取餘數
lea dx,ascii ;字串首地址
mov ah,9 ; 顯示結果
int 21h
exit_proc: mov ax,4c00h ;結束程式
int 21h
dec_ascii ends
end start
用組合語言,將一個數字的ascii碼值顯示出來
5樓:
對於第1個字元,call htoasc 之後al裡面應該是30h(這時候是對的,『0』的ascii碼正是30h),然後又執行rol al,4,al變成03h了(結果已經錯)。
03h不是一個可顯示字元,call dispc顯示的結果當然不對,你應該把call htoasc 之後的rol al,4這行刪掉。
其實**裡面顯示低位的時候就沒有rol al,4
在j**a中如何將字元轉換成ascii碼?
6樓:匿名使用者
直接轉換成int型輸出就行了
7樓:路上飛小飛飛
package com.test;
public class testascii {public static void main(string args) {
string str = "很多的的技術
酷開電專視
8樓:匿名使用者
string a="5645646456";
int b= new int[a.length()];
for(int i=0;i遍歷字串
char c= a.charat(i);
b[i]=c-48;
}//b便是你要轉化
專的屬int 陣列
9樓:
char a = 'a';
int ascii = (int) a;
組合語言mul是啥意思 如何用,組合語言MUL是啥意思 如何用???
結果放在a裡面 這個說法是不對的,應該說結果的高8位放在b裡,低8位放在a裡,因為8位 8位結果有可能很大,8位數一般成不下,2 1,一個位元組能成下 所以b 0,a 2 這是湊巧了。是乘法指令,用法如 mov a,01 mov b,02 mul ab 就是累加器a與累加器b相乘,結果放在a裡面,按...
用組合語言編寫程式計算5 10
超級花生 dseg segment result dw 存放和 dseg ends cseg segment assume cs cseg,ds dsegstart mov ax,dseg mov ds,ax mov ax,5 從5開始加 mov result,0 和的初值賦0 mov cx,20 ...
利用組合語言寫出高效的3x 1程式
愛因景潤 unsigned long d asm 這個程式我除錯過了,只要運算過程中不出現越界就沒問題。變數d你定義到資料段中就行了。另外我還除錯了一下你給的 好像無論怎樣都jmp start6,根本跳不出來耶。還有據我理解,你的 是往前看好幾步,然後2個4個的往上加,我不知道你為什麼採用這種演算法...