組合語言的一道程式設計題 急求

時間 2021-12-19 14:10:01

1樓:湯旺河邊

; 本程式通過編譯,執行正確

code segment

assume cs:code,ds:code

; -------------------------------------

; 功能:顯示指定位址(str_addr)的字串

; 入口:

; str_addr=字串位址(要求在資料段)

; 用法: output str_addr

; 用法舉例:output promptstr

output macro str_addr

lea dx,str_addr

mov ah,9

int 21h

endm

; -------------------------------------

; 功能:輸出回車換行

output_ctlf proc near

push ax

push dx

mov ah,02h

mov dl,0dh

int 21h

mov dl,0ah

int 21h

pop dx

pop ax

retoutput_ctlf endp

; -------------------------------------

; 功能:根據自變數x的值,計算因變數y的值

; 入口:x=自變數

; 出口:在當前游標位置顯示y的值

calculate_y proc near

cmp x,1

jnz $+8

mov y,0

retcmp x,3

jae $+8

mov y,1

retmov y,2

retcalculate_y endp

; -------------------------------------

x db ? ;自變數

y db ? ;因變數

prompt_x db 'x=$' ;輸入x的值提示資訊

prompt_y db 13,10,'y=$' ;顯示y的值提示資訊

start: push cs

pop ds

input_x: output prompt_x ;提示輸入x的值

mov ah,1

int 21h

cmp al,27 ;esc?

jz exit_proc ;結束程式

cmp al,'1' ;<1?

jb input_x ;重新輸入

cmp al,'9' ;>9?

ja input_x ;重新輸入

and al,0fh

mov x,al ;儲存自變數

call calculate_y ;計算函式值

output prompt_y ;提示顯示y的值

mov dl,y

or dl,30h

mov ah,2 ;顯示乙個字元

int 21h

call output_ctlf

call output_ctlf

jmp input_x

exit_proc: mov ah,4ch ;結束程式

int 21h

code ends

end start ;編譯到此結束

2樓:

data segment

x db 0

y db 0

msg db "please input the number(0-9):$"

errstr db "input error!$"

data ends

code segment

assume cs:code,ds:databegin: mov ax,data

mov ds,ax

lea bx,x

inp: lea dx,msg

mov ah,9

int 21h

mov ah,1

int 21h ;

sub al,20h

lea dx,y

mov [dx],al

cmp al,3

jg gr

jl le

eq: mov [dx],0

jmp dsp

le: cmp al,0

jng err

mov [dx],1

jmp dsp

gr: cmp x,9

jg err

mov [dx],2

jmp dsp

dsp: mov dl,[dx]

add dl,20h

mov ah,2

int 21h

mov ah,4ch

int 21h

err: lea dx,errstr

mov ah,9

int 21h

mov ah,4ch

int 21h

code ends

end begin

一道匯程式設計序題目,急,問一道組合語言的題目,急求解答

三娘 global restet handlerarea 復位處理區 start,code,readwriteentrycode32num equ 20 reset handlerldr r0,srcldr r1,dst mov r2,numldr sp,0x30200000 blockcopymo...

求一道C 或C語言程式設計題,求一道c語言程式設計題目,急!!!先謝謝啦!!! 20

自我程式設計 根據你題意 c語言編寫 1,要使用遞迴函式。2,遞迴層數對應數學位數。我這裡自定義函式int checknum int num,int w 就是你要的型別。其功能是判斷數字num是否是w位數的數字,是返回1,否返回0。w控制遞迴的層數。按照位數輸出1到n的整數。include int ...

一道C語言程式設計題,一道C語言程式設計題

order.h中的 void mintomax int a order.c中的 include order.h void mintomax int a main.c中的 include include order.h void main printf n 瑜琅 name main.c author ...