广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    汇编语言程序设计:[16]七段电子表显示

    来源:网络收集  点击:  时间:2024-06-30
    【导读】:
    汇编语言(Assembly Language)是面向机器的程序设计语言。在汇编语言中,用助记符(Memoni)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址,如此就增强了程序的可读性并且降低了编写难度,象这样符号化的程序设计语言就是汇编语言,因此亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,还要由汇编程序或者叫汇编语言编译器转换成机器指令。汇编程序将符号化的操作代码组装成处理器可以识别的机器指令,这个组装的过程称为组合或者汇编。因此,有时候人们也把汇编语言称为组合语言。工具/原料moreAssembly Language nbsp; Masm汇编编译器方法/步骤1/3分步阅读

    打开masm汇编编译程序,新建一个masm源文件脚本。

    DATAS SEGMENT

    ;此处输入数据段代码

    DATAS ENDS

    STACKS SEGMENT

    ;此处输入堆栈段代码

    STACKS ENDS

    CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

    START:

    MOV AX,DATAS

    MOV DS,AX

    ;此处输入代码段代码

    MOV AH,4CH

    INT 21H

    CODES ENDS

    END START

    2/3

    在正文中输入我们的程序代码,并将文件命名为watch.asm

    data segment

    ;*****定义please等提示信息*****

    str db 20

    db 50h,7,0,0

    db 6ch,7,0,1

    db 65h,7,0,1

    db 61h,7,0,1

    db 73h,7,0,1

    db 65h, 7,0,1

    db 70h,7,1,-10

    db 72h,7,0,1

    db 65h,7,0,1

    db 73h,7,0,1

    db 73h,7,0,1

    db 53h,7,0,2

    db 6bh,7,0,2

    db 65h,7,0,1

    db 79h,7,0,1

    db 65h,7,0,2

    db 78h,7,0,1

    db 69h,7,0,1

    db 74h,7,0,1

    db 21h,7,0,1

    ;*****定义0-9十个图形数字*****

    s0 db 6

    db 5fh,7,0,0

    db 7ch,7,1,-1

    db 7ch,7,1,0

    db 5fh,7,0,1

    db 7ch,7,0,1

    db 7ch,7,-1,0

    sy db 2

    db 7ch,7,1,0

    db 7ch,7,1,0

    s2 db 5

    db 5fh,7,0,0

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,1,-1

    db 5fh,7,0,1

    s3 db 5

    db 5fh,7,0,0

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    s4 db 4

    db 7ch,7,1,0

    db 5fh,7,0,1

    db 7ch,7,1,1

    db 7ch,7,-1,0

    s5 db 5

    db 5fh,7,0,0

    db 7ch,7,1,-1

    db 5fh,7,0,1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    s6 db 6

    db 5fh,7,0,0

    db 7ch,7,1,-1

    db 5fh,7,0,1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,0,-1

    s7 db 3

    db 5fh,7,0,0

    db 7ch,7,1,1

    db 7ch,7,1,0

    s8 db 7

    db 7ch,7,1,0

    db 5fh,7,-1,1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,0,-1

    s9 db 6

    db 7ch,7,1,0

    db 5fh,7,-1,1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    db 7ch,7,1,1

    db 5fh,7,0,-1

    s11 db 2

    db 03h,7,1,0

    db 03h,7,1,0

    data ends

    stack segment

    db 200 dup (0)

    stack ends

    code segment

    assume cs:code,ss:stack,ds:data

    start:

    mov ax,data

    mov ds,ax

    mov ah,0 ;设置显示方式

    mov al,4

    int 10h

    mov ah,0bh ;置彩色调板

    mov bh,0

    mov bl,1

    int 10h

    mov ah,0bh ;置彩色调板

    mov bh,1

    mov bl,4

    int 10h

    mov ah,2 ;取系统时间

    int 1ah

    mov ax,0

    mov bx,0

    mov ah,ch ;取系统时间

    mov al,cl ;保存分钟

    mov bh,dh ;保存秒

    mov bl,dl ;保存百分之一秒

    tt:

    push ax

    push bx

    mov ah,0

    mov al,4

    int 10h

    mov ah,0bh

    mov bh,0

    mov bl,1

    int 10h

    mov ah,0bh

    mov bh,1

    mov bl,4

    int 10h

    MOV AH,1 ;读键盘缓冲区字符

    INT 16h

    JZ ww

    MOV AH,8 ;从键盘输入字符

    INT 21h

    CMP AL,s ;输入s,结束程序

    JE tu

    ww: pop bx

    pop ax

    call xian ;调用显示子程序

    push ax

    qu: mov ah,2 ;取系统时间

    int 1ah

    cmp bh,dh

    je qu

    pop ax

    inc bh ;对时间进行加1

    cmp bh,100

    jl tt

    mov bh,0

    inc al

    call beep

    cmp al,100

    jl tt

    mov al,0

    inc ah

    cmp ah,24

    jl tt

    mov ah,0

    jmp tt

    tu: mov ah,4ch

    int 21h

    ret

    xian proc ;对时间值进行处理并显示的子程序

    push si

    push di

    push dx

    push cx

    push bx

    push ax

    pop ax

    push ax

    mov bx,ax

    mov ax,0

    mov al,bh

    mov cl,4

    shr al,cl

    mov bl,al

    mov dh,10

    mov dl,2

    call ff

    pop ax

    push ax

    mov bx,ax

    mov ax,0

    mov al, bh

    and al,0fh

    mov bl,al

    mov dh,10

    mov dl,6

    call ff

    mov dh,10

    mov dl,10

    mov bl,10

    call ff

    pop ax

    push ax

    mov cl,4

    shr al,cl

    mov bl,al

    mov dh,10

    mov dl,14

    call ff

    pop ax

    push ax

    and al ,0fh

    mov bl,al

    mov dh,10

    mov dl,18

    call ff

    mov dh,10

    mov dl,22

    mov bl,10

    call ff

    pop ax

    pop bx

    push bx

    push ax

    mov ax,0

    mov al,bh

    mov cl,4

    shr al,cl

    mov bl,al

    mov dh,10

    mov dl,26

    call ff

    pop ax

    pop bx

    push bx

    push ax

    mov al,bh

    and al,0fh

    mov bl,al

    mov dh,10

    mov dl,30

    call ff

    mov dh,0

    mov dl,15

    mov bl,22

    call ff

    pop ax

    pop bx

    pop cx

    pop dx

    pop di

    pop si

    ret

    xian endp

    ff proc ;显示具体数值

    push ax

    push bx

    push cx

    push dx

    cmp bl,0

    je l0

    cmp bl,1

    je l1

    cmp bl,2

    je l2

    cmp bl,3

    je l3

    cmp bl,4

    je l4

    cmp bl,5

    je l5

    cmp bl,6

    je l6

    cmp bl,7

    je l7

    cmp bl,8

    je l8

    cmp bl,9

    je l9

    cmp bl,10

    je l10

    cmp bl,22

    je ld

    l0: lea di,s0

    jmp ty

    l1 : lea di,sy

    jmp ty

    l2: lea di,s2

    jmp ty

    l3: lea di,s3

    jmp ty

    l4: lea di,s4

    jmp ty

    l5: lea di,s5

    jmp ty

    l6: lea di,s6

    jmp ty

    l7: lea di,s7

    jmp ty

    l8: lea di,s8

    jmp ty

    l9: lea di,s9

    jmp ty

    l10: lea di,s11

    jmp ty

    ld : lea di,str

    ty: mov ah,0fh ;示方式

    int 10h

    sub cx,cx

    mov cl,

    inc di

    plot_next: add dh,

    add dl,

    mov ah,2

    int 10h

    mov al,

    mov bl,

    push cx

    mov cx,1

    mov ah,09

    int 10h

    pop cx

    add di,4

    loop plot_next

    pop dx

    pop cx

    pop bx

    pop ax

    mov cx,100

    gg: dec cx

    loop gg

    ret

    ff endp

    clear proc

    push ax

    push bx

    push cx

    push dx

    mov ah,6

    mov al,0

    mov bh,1

    int 10h

    pop dx

    pop cx

    pop bx

    pop ax

    ret

    clear endp

    beep proc

    push ax

    push bx

    push cx

    push dx

    mov al ,10110110b

    out 43h,al

    mov ax,533h

    out 42h,al

    mov al,ah

    out 42h,al

    in al,61h

    mov ah,al

    or al,03

    out 61h,al

    sub cx,cx

    mov bl,28h

    g7: loop g7

    dec bl

    jnz g7

    mov al,ah

    out 61h,al

    pop dx

    pop cx

    pop bx

    pop ax

    ret

    beep endp

    code ends

    end start

    3/3

    运行我们编辑的文件

    语言电子表
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_921086.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 08:02:40  耗时:0.027
    0.0268s