累加ffff:0~ffff:b 中12 个数据

  1. assume cs:code
  2. code segment
  3. mov ax,0ffffh
  4. mov ds,ax
  5. mov bx,0
  6. mov dx,0
  7. mov cx,12
  8. s: mov al,[bx]
  9. mov ah,0
  10. add dx,ax
  11. inc bx ;ds:bx 指向下一个单元
  12. loop s
  13. mov ax,4c00h
  14. int 21h
  15. code ends
  16. end

大小写转换问题

将datasg中第一个字符串转化为大写,第二个字符串转化为小写

  1. assume cs:codesg,ds:datasg
  2. datasg segment
  3. db 'BaSiC'
  4. db 'iNfOrMaTiOn'
  5. datasg ends
  6. codesg segment
  7. start: mov ax,datasg
  8. mov ds,ax
  9. mov bx,0
  10. mov cx,5
  11. s: mov al,[bx]
  12. and al,11011111
  13. mov [bx],al
  14. inc bx
  15. loop s
  16. mov bx,5
  17. mov cx,11
  18. s0:mov al,[bx]
  19. or al,00100000B
  20. mov [bx],al
  21. inc bx
  22. loop s0
  23. mov ax,4c00h
  24. int 21h
  25. codesg ends
  26. end start

规律:一个字母,不管它是大写还是小写(位数从0开始计算),将它的第五位置0,它就变成大写字母,置1则变为小写字母