+ -
当前位置:首页 → 问答吧 → NUC软院汇编六个实验

NUC软院汇编六个实验

时间:2011-11-28

来源:互联网

二data segment
a db 1,2,3,4,1
b db 1,9,9,7,1
c db 6 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
  lea bx,a
  lea si,b
  lea di,c
  mov cx,5
  clc
 k: mov al,[bx]
  adc al,[si]
  aaa
  mov [di],al
  inc si 
  inc di
  inc bx
  loop k
  mov al,0
  adc al,0
  mov [di],al
  lea bx,a
  add bx,4
  mov cx,5
  kk: mov dl,[bx]
  add dl,30h
  mov ah,2
  int 21h
  dec bx
  dec cx
  jnz kk
  mov dl,'+'
  mov ah,2
  int 21h
  lea bx,b
  add bx,4
  mov cx,5
kkk:mov dl,[bx]
  add dl,30h
  mov ah,2
  int 21h
  dec bx
  dec cx
  jnz kkk
  mov dl,'='
  mov ah,2
  int 21h
  lea bx,c
  add bx,5
  mov cx,6
  kkkk:mov dl,[bx]
  add dl,30h
  mov ah,2
  int 21h
  dec bx
  dec cx
  jnz kkk ret
  main endp
  code ends
  end start

三:data segment
a db 5,5
b db 5,5
c1 db 3 dup(?)
c2 db 3 dup(?)
c db 4 dup(?)
data ends
code segment
main proc far
assume cs:code,ds:data
start:....
  mov dl,a+1
  add dl,30h
  mov ah,2
  int 21h
  mov dl,a
  add dl,30h
  mov ah,2
  int 21h
  mov dl,'*'
  mov ah,2
  int 21h
  mov dl,b+1
  add dl,30h
  mov ah,2
  int 21h
  mov dl,b
  add dl,30h
  mov ah,2
  int 21h
  mov dl,'='
  mov ah,2
  int 21h
  mov al,a
  mul b
  aam
  mov word ptr c1,ax
  mov al,a+1
  mul b
  aam
  add al,c1+1
  aaa
  adc ah,0
  aaa
 mov word ptr c1+1,ax
  mov al,a
  mul b+1
  aam
 mov word ptr c2,ax
  mov al,a+1
  mul b+1
  aam
  add al,c2+1
  aaa
  adc ah,0
  aaa
 mov word ptr c2+1,ax
  mov al,c1
  mov c,al
  mov al,c1+1
  add al,c2
  aaa
  mov c+1,al
  mov al,c1+2
  adc al,c2+1
  aaa
  mov c+2,al
  mov al,0
  adc al,c2+2
  aaa
  mov c+3,al
  lea bx,c
  add bx,3
  mov cx,4
  k: mov dl,[bx]
  add dl,30h
  mov ah,2
  int 21h
  dec bx
  loop k
  ret
  main endp
  code ends
  end start
一:Hello world
 fdata segment
a db 'hello,world!$'
data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
  sub ax,ax
  push ax
  mov ax,data
  mov ds,ax
  lea dx,a
  mov ah,9
  int 21h
  ret
main endp
code ends
end start

四:data segment
a dw 0307h,0802h,0605h,0909h,0506h,0103h,0401h,0808h,0702h,0105h
data ends
code segment
main proc far
assume cs:code,ds:data
 start:
  ....
  mov cx,10
  dec cx
 loop1: mov di,cx
  mov bx,0
 loop2: mov ax,a[bx]
  cmp ax,a[bx+2]
  jge continue
  xchg ax,a[bx+2]
  mov a[bx],ax
continue:add bx,2
  loop loop2
  mov cx,di
  loop loop1
  lea bx,a
  mov cx,10
  k: mov dl,[bx+1]
  add dl,30h
  mov ah,2
  int 21h
  mov dl,[bx]
  add dl,30h
  mov ah,2
  int 21h
  mov dl,' '
  mov ah,2
  int 21h
  add bx,2
  loop k
  ret
main endp
code ends
  end start

五:data segment
fenshu db 20个分数 
a db ?b db ?c db ?d db ?
e db ? data ends
code segment
main proc far
assume cs:code,ds:data
start:push ds
  sub ax,ax
  push ax
  mov ax,data
  mov ds,ax
  mov cx,20
  lea si,fenshu
 k: mov al,[si]
  cmp al,90
  jb k1
  inc a
  jmp continue
 k1: cmp al,80
  jb k2
  inc b
  jmp continue
k2: cmp al,70
  jb k3
  inc c
  jmp continue
 k3: cmp al,60
  jb k4
  inc d
  jmp continue
k4: inc e
continue: inc si
  dec cx
  jnz k
  mov cx,5
  mov bl,41h
  lea si,a
again: mov ah,2
  mov dl,bl
  int 21h
  mov ah,2
  mov dl,':'
  int 21h
  call display
  mov dl,' '
  mov ah,2
  int 21h
  inc si
  inc bl
  dec cx
  jnz again
  ret
  main endp
  display proc near
  push bx
  push ax
  push cx
  mov al,[si]
  mov ah,0
  mov bl,100
  div bl
  mov ch,ah
  mov dl,al
  add dl,30h
  mov ah,2
  int 21h
  mov ah,ch
  mov al,ah
  mov ah,0
  mov bl,10
  div bl
  mov ch,ah
  mov dl,al
  add dl,30h
  mov ah,2
  int 21h
  mov dl,ch
  add dl,30h
  mov ah,2
  int 21h
  pop cx
  pop ax
  pop bx
  ret
  display endp
  code ends
  end start
六:
data segment
a1 db 'the key is1', 0dh, 0ah,'$'
a2—a9
data ends
code segment
main proc far
assume cs:code,ds:data
start:
  ...
k: mov ah,7
  int 21h
  sub al,30h
  jb exit
  cmp al,9
  jae exit
  cmp al,1
  jnz k1
  mov ah,9
  lea dx,a1
  int 21h
  jmp k
 k1: cmp al,2
  jnz k2
  mov ah,9
  lea dx,a2
  int 21h
  jmp k
k2: cmp al,3
  jnz k3
  mov ah,9
  lea dx,a3
  int 21h
  jmp k
 k3: cmp al,4
  jnz k4
  mov ah,9
  lea dx,a4
  int 21h
  jmp k



  k4: cmp al,5
  jnz k5
  mov ah,9
  lea dx,a5
  int 21h
  jmp k
k5: cmp al,6
  jnz k6
  mov ah,9
  lea dx,a6
  int 21h
  jmp k
k6: cmp al,7
  jnz k7
  mov ah,9
  lea dx,a7
  int 21h
  jmp k
k7: mov ah,9
  lea dx,a8
  int 21h
  jmp k
 exit:ret
 main endp
 code ends
 end start

七:STACKS SEGMENT
STACKS ENDS
num dw 42,20,100,-456,99,120,-89,12334,90,1239
cnt equ $-num
max dw 0
min dw 0
DATAS ENDS
 ASSUME CS:CODES,DS:DATA START: MOV AX,DATAS
 MOV DS,AX
 mov si,offset num
 mov bx,[si]
 add si,2
 mov bp,bx
 mov cx,10
 dec cx
next: lodsw 
 cmp ax,bx 
 jle bj1
 mov bx,ax
bj1: cmp ax,bp
 jg bj2
 mov bp,ax
bj2: loop next
 mov max,bx
 mov min,bp
 MOV AX,4C00H 
 INT 21H
CODES ENDS
 END START 

作者: cyl385111   发布时间: 2011-11-28

好歹也说说每个程序干什么的啊.

作者: zgdahai   发布时间: 2011-11-28