當前位置:編程學習大全網 - 編程語言 - 匯編語言的壹道程序設計題 急求!!

匯編語言的壹道程序設計題 急求!!

; 本程序通過編譯,運行正確

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

ret

Output_CTLF endp

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

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

; 入口:x=自變量

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

Calculate_y Proc Near

cmp x,1

jnz $+8

mov y,0

ret

cmp x,3

jae $+8

mov y,1

ret

mov y,2

ret

Calculate_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 ;編譯到此結束

  • 上一篇:Cnc培訓心得體會怎麽寫
  • 下一篇:個人年終工作總結及下壹年工作計劃
  • copyright 2024編程學習大全網