好文档 - 专业文书写作范文服务资料分享网站

微机原理与汇编语言_实验3_循环程序设计实验汇总

天下 分享 时间: 加入收藏 我要投稿 点赞

mov ds, ax mov es, ax

mov ah, 09h ;输出提示信息Please input a num: mov dx, offset inf int 21h

mov ah, 0Ah ;接收一个无符号十进制整数(小于65536) mov dx, offset ibuf int 21h

mov ax, 0

mov cl, ibuf+1;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中 mov ch, 0

mov si, offset ibuf+2 loop1: mov dx, 10 mul dx

and byte ptr[si], 0Fh add al, [si] adc ah, 0 inc si

loop loop1

mov bx, 0 loop2: shr ax, 1 adc bx, 0 cmp ax, 0 jnz loop2

mov ax, bx

mov di, offset obuf+5

;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf mov byte ptr [di], '$' mov bx, 10 loop3: mov dx, 0 div bx

add dl, 30h dec di

mov [di], dl or ax, ax jnz loop3

mov ah, 09h ;输出提示信息The num of 1: mov dx, offset inf2 int 21h

mov ah, 09h ;将统计结果在屏幕上显示出来 mov dx, di int 21h

mov ax, 4c00h int 21h

6

end start

实验习题4源码:

; multi-segment executable file template.

.model small ;定义程序的存储模式(small表示小型模式) .stack ;定义堆栈段

.data ;定义数据段 N equ 5

ibuf db 4, 0, 3 dup(0)

inf1 db 'Please input N num(0-255):', 0ah, 0dh, '$'

inf2 db 'Sort:', 0ah, 0dh, '$' buf db N dup(0) obuf2 db 4 dup(0) obuf db 0ah, 0dh, '$' .code

start: mov ax, @data mov ds, ax

mov dx, offset inf1 ;输出提示信息 mov ah, 09h int 21h

mov di, offset buf

mov bx, N ;设置外层循环次数 loop1: mov dx, offset ibuf mov ah, 0Ah int 21h

mov cl, ibuf+1 ;设置内层循环次数 mov ch, 0

mov si, offset ibuf+2 mov ax, 0

loop2: mov dx, 10 ;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中 mul dx

and byte ptr[si], 0Fh add al, [si] inc si

loop loop2 mov [di], al inc di

mov dx, offset obuf ;回车换行 mov ah, 09h int 21h dec bx cmp bx, 0 jnz loop1

mov bx, N-1 ;比较大小

7

mov cx, bx mov dx, bx

mov di, offset buf loop3: mov si, di mov al, [di] inc si

loop4: cmp [si], al jbe loop5 mov al, [si] mov ah, [di] mov [si], ah mov [di], al loop5: inc si loop loop4 dec dx mov cx, dx inc di dec bx cmp bx, 0 jne loop3

mov dx, offset inf2 ;输出提示信息 mov ah, 09h int 21h

;结果输出 mov cx, N

mov si, offset buf

loop6: mov di, offset obuf2+3

;将buf中的二进制数转换为十进制数并以ascii的形式存于obuf2,并输出 mov byte ptr [di], '$' mov bx, 10 mov al, [si] mov ah, 0 loop7: mov dx, 0 div bx

add dl, 30h dec di

mov [di], dl or ax, ax jnz loop7 mov dx, di mov ah, 09h int 21h

mov dx, offset obuf mov ah, 09h int 21h inc si

loop loop6

mov ax, 4c00h

8

int 21h end start

3、实验结果

(1)实验结果

(2)实验习题1

程序流程图:

9

(3)实验习题2

10

微机原理与汇编语言_实验3_循环程序设计实验汇总

movds,axmoves,axmovah,09h;输出提示信息Pleaseinputanum:movdx,offsetinfint21hmovah,0Ah;接收一个无符号十进制整
推荐度:
点击下载文档文档为doc格式
1pkgb7mhhe05ej21u0rq9kfa2517te00k6k
领取福利

微信扫码领取福利

微信扫码分享