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

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

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

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

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 ;比较大小

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

int 21h end start

3、实验结果

(1)实验结果

(2)实验习题1

程序流程图:

(3)实验习题2

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

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

微信扫码领取福利

微信扫码分享