|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Computer Programspråk >> Content

    Skriv ett monteringsspråkprogram för att multiplicera 8-bitars signerat nummer med ett nummer?

    `` `

    .modell liten

    .stack 100h

    .data

    num1 db -12; Första 8-bitars signerade nummer

    num2 dB 5; Det andra numret att multiplicera med

    resultat dw?; Resultat av multiplikation (16-bitars)

    .koda

    huvudproc

    MOV AX, @DATA; Initiera datasegmentregister

    mov ds, yxa

    mov al, num1; Ladda första numret i Al Register

    MOV BL, NUM2; Ladda andra numret i BL -register

    imul bl; Multiplicera al med bl (resultera i yxa)

    MOV -resultat, yxa; Lagra resultatet i "resultat" -variabeln

    ; Visa resultatet (valfritt)

    ; ...

    MOV AH, 4CH; Utgångsprogram

    int 21h

    huvudslut

    sluthuvud

    `` `

    Förklaring:

    1. Initialisering:

    - `.modell liten 'definierar minnesmodellen (liten modell) och ställer in programstrukturen.

    - `.Stack 100h` reserver 100h byte för stacken.

    - `.data` -avsnittet förklarar variabler:` num1`, `num2` och` resultat '.

    2. Ladda siffrorna:

    - `MOV AL, NUM1 'laddar det första numret i' Al '-registret, som används för 8-bitars operationer.

    - `MOV BL, Num2 'laddar det andra numret i` BL' -registret.

    3. multiplikation:

    - `IMUL BL` utför den signerade multiplikationen av` al 'av' BL '. Resultatet kommer att lagras i "AX" -registret (16-bitars).

    4. lagring av resultatet:

    - `MOV-resultat, Axe 'lagrar 16-bitarsresultatet från` AX' till variabeln "Resultat".

    5. Valfri display:

    - Du kan lägga till kod för att visa resultatet med `Int 21h` med lämpliga funktionskoder. Detta kodavsnitt fokuserar på själva multiplikationen.

    6. Utgångar programmet:

    - `MOV AH, 4CH 'Ställer in" Ah "-registret till DOS -funktionskoden för att lämna programmet.

    - `Int 21h` kallar DOS -avbrottet för att utföra utgångsfunktionen.

    Viktiga anteckningar:

    -Detta program använder signerad 8-bitars multiplikation, vilket innebär att resultatet kan bli ett 16-bitars signerat värde. Instruktionen "Imul" hanterar skyltförlängningen automatiskt.

    - "Resultat" -variabeln förklaras som ett ord ("dw") för att hålla 16-bitarsresultatet.

    - Du kan ändra `num1` och` num2` för att ändra siffrorna du vill multiplicera.

    - Monteringskoden måste monteras med en montering som MASM eller TASM och sedan länkas för att skapa en körbar fil.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur till Bädda Sprite Flex
    ·Vilket datorspråk är uppkallad efter Cofee?
    ·Hur visa ett värde i en MATLAB String
    ·Återställa Spool filer
    ·Hur du fyller på artiklar som PowerPoint i Joomla
    ·Hur ändrar jag Input Type för Font Värden
    ·Hur Split BASIC Stamp I /O-signaler
    ·Hur fixar tabbavståndet i Eclipse
    ·Hur du tar bort knappar i GridView
    ·Vilka datordelar börjar med bokstaven c?
    Utvalda artiklarna
    ·Skillnaden mellan DataGrid & GridView
    ·Hur man gör ett flödesschema med två argument
    ·Beskrivning av VB6 Project Files
    ·Visual C Component Object Model Tutorial
    ·Hur till Aktivera en växlingsknapp i VBA
    ·Hur man skapar en if-sats i Python
    ·Den Scanner Ingång Funktion i Java
    ·Hur får man en API Stream i XML-format
    ·Hur du fyller index i Cache på Mysql
    ·Hur Split String Längd i Java
    Copyright © Dator Kunskap https://www.dator.xyz