任意兩個10位以內十進位制數求和 顯示結果

2021-05-14 10:52:12 字數 2274 閱讀 9319

任意兩個10位以內

十進位制數

求和顯示結果

組合語言程式設計 懸賞分:20 - 離問題結束還有 11 天 1 小時

從鍵盤上鍵入2個10位數以內(位數可變)十進位制值數,對其求和並顯示結果,

程式執行時提示請輸入加數和被加數,求完和顯示結果後,顯示繼續和退出。

提問者: mowenyi108 - 一級

code segmentassume cs:code,ds:code

org 100h;標準com格式

start:

mov ax,3;文字模式

int 10h

push cs

pop ds

push ds

pop es

again:

lea dx,mes1;提示

mov ah,9

int 21h

mov di,30fh

call input;接收 數a

lea dx,mes2;提示

mov ah,9

int 21h

mov di,31fh

call input;接收 數b

call count;求和

lea dx,mes3

mov ah,9

int 21h

;*** 輸出十進位制的結果 ***

call crt

lea dx,mes4

mov ah,9

int 21h

mov ah,0;暫停

int 16h

cmp ah,15h ;"y(y)"繼續

jz again;計算下一題

mov ah,4ch;結束

int 21h

input:

mov cx,10

t1:mov ah,0;接收數字

int 16h

cmp al,0dh

jz ok

cmp al,'0';資料校驗

jb t1

cmp al,'9'

ja t1

yes:

mov ah,0eh ;顯示有效資料

int 10h

w2:push ax ;壓入堆疊

loop t1

ok:mov bp,cx

inc bp

mov cx,11

sub cx,bp

stdjcxz u3

u1:pop ax

stosb

loop u1

u3:mov al,'0'

mov cx,bp

u2:stosb

loop u2

retcount:mov si,30fh

mov di,31fh

xor dx,dx;清進製

mov cx,11;改變此值,可實現超大數相加

t3:   call subs_c;逐位累加

dec si

dec di

loop t3

retsubs_c: ;[原創]多位加法核心子程式

mov al,[si];最低位對齊

mov ah,[di]

and ax,0f0fh

add al,ah;自加

add al,dl;加後面進製

aam;二化十

mov dl,ah;存進製位

or al,30h

mov [si],al;儲存1位和值

retcrt:cld

xor bp,bp

mov si,305h

mov cx,10

cr3:

mov al,[si]

cmp al,'0'

jnz cr0

inc bp

inc si

loop cr3

cr0:

mov cx,11

sub cx,bp

mov si,305h

add si,bp

cr1:lodsb

mov ah,0eh

int 10h

loop cr1

retmes1 db 0dh,0ah,09,'input a(0-9,999,999,999): $'

mes2 db 0dh,0ah,09,'input b(0-9,999,999,999): $'

mes3 db 0dh,0ah,09,'sum a+b= $'

mes4 db 0dh,0ah,09,'continue y(y)? $'

code ends

end start

十六進製制以內任意進製數轉十進位制

十六進製制以內任意進製數轉十進位制的c語言實現 include include include include include int parseint char str,int type if type 16 else if tmpchar a tmpchar f else else printf...

ACM 任意的十進位制數轉成R進製

原題是這樣的 description 輸入乙個十進位制數n,將它轉換成r進製數輸出。input 輸入資料報含多個測試例項,每個測試例項包含兩個整數n 32位整數 和r 2 r 16,r 10 output 為每個測試例項輸出轉換後的數,每個輸出佔一行。如果r大於10,則對應的數字規則參考16進製制 ...

例項 十進位制數n轉化為任意進製

題目描述 對於任意整數n,轉化成x進製的表達形式 演算法分析 演算法實現 十進位制正整數n到base進製的轉換 static const char basenum void convert std stack s,int64 n,int base void convertr std stack s,...