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...