汇编学习(九)8086汇编拾遗 (8)

港控/mmm° 2022-08-22 15:14 293阅读 0赞
  1. 端口:
  2. CPU的角度,简单来看,CPU将这些硬件设备进行了统一的编址。一些硬件被编进的地址就变成了对CPU 读取地址的接口。
  3. 端口的读写指令只有2条:
  4. in: 从端口读入数据
  5. out:从端口读出数据
  6. 注意这里只能使用AX AL 来存放从端口读入的或从端口读出的数据。
  7. assume cs:code code segment start: mov al,2 out 70h,al in al,71h mov al,2 out 70h,al mov al,0 out 71h,al mov ax,4c00h int 21h code ends end start

shr 和 shl 指令 逻辑左移,逻辑右移。 使用加法和位移指令计算 ax = ax*10

  1. assume cs:code
  2. code segment
  3. start:
  4. mov ax,2
  5. shl ax,1
  6. mov bx,ax
  7. shl ax,1
  8. shl ax,1
  9. add ax,bx
  10. mov ax,4c00h
  11. int 21h
  12. code ends
  13. end start

显示当前的日期:

  1. assume cs:code
  2. data segment
  3. time db 'yy/mm/dd hh:mm:ss$'
  4. table db 9,8,7,4,2,0
  5. data ends
  6. code segment
  7. start:
  8. mov ax,data
  9. mov ds,ax
  10. mov si,offset table
  11. mov di,offset time
  12. mov cx,6
  13. s:
  14. push cx
  15. mov al,ds:[si]
  16. out 70h,al
  17. in al,71h
  18. mov ah,al
  19. mov cl,4
  20. shr ah,cl
  21. add al,00001111b
  22. add ah,30h
  23. add al,30h
  24. mov ds:[di],ah
  25. mov ds:[di+1],al
  26. inc si
  27. add di,3
  28. pop cx
  29. loop s
  30. mov ah,0
  31. mov bh,0
  32. mov dh,10
  33. mov dl,40
  34. int 10h
  35. mov dx,offset time
  36. mov ah,9
  37. int 21h
  38. mov ax,4c00h
  39. int 21h
  40. code ends
  41. end start

发表评论

表情:
评论列表 (有 0 条评论,293人围观)

还没有评论,来说两句吧...

相关阅读