745627933 发表于 2014-8-16 21:15:30

自己写的汇编实验14访问coms ram

新手第一发表作业,请大家多多支持

assume cs:codesg
stack segment
   dw 32 dup(0)
stack ends
codesg segment
start:mov ax,0b800h
      mov es,ax   
                mov di,160*5+15*2 ;以上这三句确定显示位置


                mov ax,stack
                mov ss,ax
                mov sp,32;以上这三句初始栈
               
                mov dl,0   ;在sget中用dl临时保存要读取的内存地址,并传递给al
      mov cx,6   ;循环次数
s:          
      call far ptr sget   ;调用sget读取时间内存地址内容                
                push ax             ;将保存时间的ax压入栈中               
                loops
               
               
                mov cx,6    ;循环次数        

s1:                pop ax
          call far ptr sout
      loop s1
                     
                mov ax,4c00h
                int 21h
               
sget:   push cx
      mov al,dl
      out 70h,al               
      inal,71h
                mov ah,al                        
                mov cl,4
                shr ah,cl                
                and al,00001111b
                add al,30h
                add ah,30h
                cmp dl,6
                jasnb       

                add dl,2
      cmp dl,6
                jesnb
                jmp okg       
snb:    add dl,1

okg:    pop cx               
      retf                

sout:   
      mov es:,ah
                add di,2
                mov es:,al
                add di,2
                cmp cx,4
          jnb so
                cmp cx,1
                je ok
                mov byte ptr es:,':'       
                jmp ok
so:   mov byte ptr es:,'/'         
               
ok:          add di,2
      retf
               
               
codesg ends
end start

页: [1]
查看完整版本: 自己写的汇编实验14访问coms ram