Thông báo

Collapse
No announcement yet.

[Thắc mắc] Code asm

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • [Thắc mắc] Code asm

    Code:
    .MODEL SMALL
    .STACK 100h
    .DATA
    CR EQU 13
    LF EQU 10
    Mess1 DB CR,LF, "Nhap 1 ki tu$"
    Mess2 DB CR,LF, "Ki tu giua$"
    Mess3 DB CR,LF, "Ki tu do la$"
    	 
    .CODE
    MOV AX,@DATA
    MOV DS, AX
    MOV AH, 9
    LEA DX, Mess1
    INT 21h
    MOV AH, 9
    LEA DX, Mess2
    INT 21h
    MOV AH, 9
    LEA DX, Mess3
    INT 21h
    MOV AH, 4Ch
    INT 21H
    END
    Em chưa hiểu địa chỉ đoạn trong DS là sao và để làm gì?Sao không ghi là MOV DS,@DATA lun mà phải ghi như code trên? Và tại sao lại là 10 vs 13(Mình cũng thử chạy rùi, 10 vs 13 thì nó mới xuống dòng, còn mấy số khác thì nó ko xuống). Nhưng mà sao lại 10, 13 mới xuống dòng! Nói chung là mới mò vô asm nên có nhiều cái để hỏi lắm! Mà thấy asm cũng hay hay, mỗi tội nhiều câu lệnh quá!

  • #2
    cái này là asm for DOS chứ không liên quan 8051 nhé
    (dùng ngắt 21 tùm lum tà la gì đó mà)

    Comment


    • #3
      Code này là của môn vi xử lý rồi
      Nick yahoo: nguyenphuocho
      Mail:
      Web:
      PICKIT2

      Comment


      • #4
        Nguyên văn bởi i0988305410 Xem bài viết
        Code:
        .MODEL SMALL
        .STACK 100h
        .DATA
        CR EQU 13
        LF EQU 10
        Mess1 DB CR,LF, "Nhap 1 ki tu$"
        Mess2 DB CR,LF, "Ki tu giua$"
        Mess3 DB CR,LF, "Ki tu do la$"
             
        .CODE
        MOV AX,@DATA
        MOV DS, AX
        MOV AH, 9
        LEA DX, Mess1
        INT 21h
        MOV AH, 9
        LEA DX, Mess2
        INT 21h
        MOV AH, 9
        LEA DX, Mess3
        INT 21h
        MOV AH, 4Ch
        INT 21H
        END
        Em chưa hiểu địa chỉ đoạn trong DS là sao và để làm gì?Sao không ghi là MOV DS,@DATA lun mà phải ghi như code trên? Và tại sao lại là 10 vs 13(Mình cũng thử chạy rùi, 10 vs 13 thì nó mới xuống dòng, còn mấy số khác thì nó ko xuống). Nhưng mà sao lại 10, 13 mới xuống dòng! Nói chung là mới mò vô asm nên có nhiều cái để hỏi lắm! Mà thấy asm cũng hay hay, mỗi tội nhiều câu lệnh quá!
        Code này dùng cho con VXL 8088 của Intel. Trước xuýt trượt môn này!
        Nhớ không nhầm thì 10, 13 đó là mã lệnh xuống dòng và thụt đầu dòng. Còn cái DS tại sao lại vậy thì không rõ vì quên mất rồi nên không dám giải thích bừa!

        Comment


        • #5
          Vậy mà hồi trước tưởng con này giống con 8051, cái DS gg nói là đưa địa chỉ dữ liệu vào DS và lấy địa chỉ đầu của một đoạn nap vào DS( Data Segment-Thanh ghi đoạn dữ liệu). Với lại lệnh int 21h chỉ xuất kí tự ở thanh ghi DX thôi cần gì tới thanh ghi DS!

          Comment


          • #6
            10 với 13 tra trong bảng mã ASCII đó bạn là 10-xuống dòng 13-về đầu dòng. còn không thể dùng MOV DS, @dât vì DS là thanh ghi đoạn nếu muốn hiểu rõ bạn nên tìm tài liệu về môn KỸ thuật Vi xử lý mà đọc

            Comment


            • #7
              Nguyên văn bởi wikin Xem bài viết
              10 với 13 tra trong bảng mã ASCII đó bạn là 10-xuống dòng 13-về đầu dòng. còn không thể dùng MOV DS, @dât vì DS là thanh ghi đoạn nếu muốn hiểu rõ bạn nên tìm tài liệu về môn KỸ thuật Vi xử lý mà đọc
              Mình đang đọc sách Hợp ngữ của KHTN, có chỗ đó mình ko hiểu nên hỏi z! Ai có tài liệu hay nào thì giới thiệu nhé! Cảm ơn!

              Comment

              Về tác giả

              Collapse

              i0988305410 Tìm hiểu thêm về i0988305410

              Bài viết mới nhất

              Collapse

              Đang tải...
              X