第4章作业答案

发布 2022-07-04 17:46:28 阅读 8163

3.52 比较ax和bx中两个无符号数的大小,若ax>bx,则将si中的高8位和低8位交换;若ax=bx,则将si中的高7位置1;若axcode segment

assume cs:code

start: cmp ax,bx

jz a1若ax=bx,转移到a1

jb a2若ax mov cl,8 ;交换si中高8位和低8位。

rol si,cl

jmp next

a1: or si,0fe00h ;将si中的高7位置1

jmp next

a2: mov cx,2 ;将si中的带符号数除以2

mov ax,si ;将被除数送给dx:ax

mov dx,0

idiv cx

mov si,ax ;将所求结果送回si

next: mov ah,4ch

int 21h

code ends

end start

3.53 在以ds:3301h为首地址的存储单元中,连续存放了50个无符号的字节数据,要求在其中找出最小值,并将它放在地址为ds:3300h的字节单元中。试编写程序。

code segment

assume cs:code

start: mov si,3301h将首地址送给si,用si可以间接访问数组中的元素。

mov al,[si将第一个数送给al

mov cx,4950个数比较49次。

cycle: inc si让si指向下一个数。

cmp al,[si]

jbe nextal<=[si],则判断下一个数。

mov al,[sial>[si],则用[si]取代al

next: loop cycle

mov ds:[3300h],al ;编译器会认为[3300h]就是3300h,故在前面加ds:

mov ah,4ch

int 21h

code ends

end start

3.58 编写将内存以es:1000h开始的256个字节单元清零的程序。

code segment

assume cs:code

start: mov si,1000h

mov cx,256

cycle: mov [si],byte ptr 0

inc si

loop cycle

mov ah,4ch

int 21h

code ends

end start

3.59 试编写程序,统计以ds:8000h为起始地址的连续200个字节单元中的0的个数。

code segment

assume cs:code

start: mov ax,0用ax统计0的个数。

mov cx,200循环200次。

mov si,8000h通过si间接访问内存ds:8000h开始的存储单元。

cycle: cmp byte ptr [si],0

jnz next

inc ax

next: inc si

loop cycle

mov ah,4ch

int 21h

code ends

end start

4.18 将内存中某数据块的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数。

data segment

buf db 12,15,-2,3,-7,-8,19,-25

n=$-buf

buf1 db n dup存放正数。

buf2 db n dup存放负数。

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

lea bx,buf ;bx指向buf

lea si,buf1 ;si指向存放正数的缓冲区buf1

lea di,buf2 ;di指向存放负数的缓冲区buf2

mov cx,n ;循环n次。

mov dx,0 ;dh表示负数的个数,dl表示正数的个数,都清零。

cycle: mov al,[bx将bx指向的数送给al

cmp al,0 ;比较al与0的大小。

jg great ;al>0,则转移至great

mov [di],al ;al<=0,将al存入负数的数组。

inc dh负数的个数加1

inc didi指向下一个负数。

jmp next

great: mov [si],al ;al>0,将al存入正数的数组。

inc dl正数的个数加1

inc sisi指向下一个负数。

next: inc bx判断下一个数。

loop cycle

add dl,30h ;将正数的个数变成字符输出。

mov ah,2

int 21h

add dh,30h ;将负数的个数变成字符输出。

mov dl,dh

mov ah,2

int 21h

mov ah,4ch

int 21h

code ends

end start

第4章作业答案

8 a 用户王明对两个表有select权力。grant select on职工。to 王明。grant select on部门。to 王明。b 用户李勇对两个表有insert和delete权力。grant insert,delete on职工。to 李勇 grant insert,delete on...

第4章作业答案

1.mcs 51内部四个并行i o口的功能分别是什么?见书。2.8031的四个并口中,输出访问外部存储器高8位地址线的并口是 p2口 3.8031的四个并口中,无内部上拉电阻的并口是 p0口 4.8031的四个并口中,无第二功能的并口是 p1口 5.msc 51系列单片机外扩存储器芯片时,4个i o...

第4章作业答案

一 选择题。23 液压缸差动连接工作时,缸的速度 a 增加了,缸的输出力 d a 运动速度增加了b 输出力增加了c 运动速度减少了d 输出力减少了 24 在某一液压设备中需要一个完成很长工作行程的液压缸,宜采用下述液压缸中的 d a 单活塞液压缸b 双活塞籽液压缸c 性塞液压缸d 伸缩式液压缸。43...