汇编语言实验报告2

  • 格式:pdf
  • 大小:468.25 KB
  • 文档页数:6

汇编语言程序设计

实验(二)

󱎁󰑄󰙨设计󰟦󰕂1100300619󰞁󰕐󱦌󱔮󰋌

󰩇󱍛

实验󰪑󰕷

1、实验目的

1󱽌󰬂󰬧汇编语言程序设计󰛳󰰵󰲫󰤰󱽊󱮋序󰇌󰑬󰮃󰇌󰥰󱀗󰇌󰟕程序󱊎󰙾󰜸󰛳󰰵󱍇󰱞

2󱽌󰬂󰬧󱎁󰑄󰙨󱄊󰴐󰦐󰇌󱍇󰱞󰋁设计󰮵󰸂

3󱽌󰾀󱌷󰬂󰬧汇编语言程序编󱣤󰇌汇编󰇌󱤌󰬌󰇌󱞼󱞏󱄊󱣿程󰋁󰎎󱁹

4󱽌󰟦󰋸QASM󰊾󱄊汇编语言编程󰋁󱞼󱞏󰮵󰸂󰇍

2、实验仪器与主要器件

1󱽌󱌇󱍒计󱊫󰰻󰊷󰔼

2󱽌WindowsXP󰭲󰍻󱌇󱍒

3󱽌QASM󱣄󰍈

4󱽌Internet󱎪󱍏

3、实验预习

1.󱫳󰑵󰖗󰛷󰲗󰕊󰰦󰌤󰋦󰾲󰽂󱽝󱫳󰑵󰶈󰜫󱀱󰊷󰋔󱽊󰕊󰐋󱌉󰥜󰒒󱉖󰊷󰍯󰝞󰕙󱽝󰥰󱀗󱫳󰑵󰔡󰰦󰌤󰋦󰭲󰍻󰾲󰽂󱽝

󱊕󱽘(1)󱫳󰑵󱄊󰾲󰽂󰯧󰐏󱤉󰐏󰑣󱽊󰛷󰲗󱄊󰾲󰽂󰯧󰐏󱤉󰕑󰑣󰇍(2)󱤈󰲨󰜫󱀱󰋀󰝞󱽊󰍘󰌗󱁷󰜸󱧚󰯧󰮝󰫶󱈨󰒯

󰭲󰍻󱽊󰥖󰖾程序󱄊󱤂󱛡󰮍󱀋󰇍(3)󰥰󱀗󱫳󰑵󰔶󱭊󱜶󱈨󰒯󰫉󱧫󱽊󱥘󰐒󰌀󰜸󱧚󱄊󰮝󰫶󱈨󰒯󰭲󰍻󱽊󰜸󰜸󱓬󱄵󰌀程序

󱤂󱛡󱄊󰯑󱫎󰇍

2.󰥰󱀗󱫳󰑵󰬣󰐚󱫳󰡋󰇌󰜫󱀱󱫳󱯫󱭊󰸌󰨓󰌤󰋦󱽝󰥰󱀗󱫳󰑵󱄊󰻘󰖗󱉇󱄊󰱎󰍈󰯧󰌤󰋦󱽝

󱊕󱽘(1)󰬣󰐚󱫳󰡋󰯑󱽊󱜶󰳝󰲊󱫳󰑵󰯧󰕡󰣃󰻘󱽙󱣥󰑣󱫳󱯫󰯑󱽊󱜶󰳝󰲊󱫳󰑵󰯧󰕡󰣃󱉇󰇍(2)󰥰󱀗󱫳󰑵󰻘󰖗󱉇

󱄊󰱎󰍈󰚩󰋞󱫳󰑵󱯫󰡋󱧘󰕌󰇍󰥇󱧘󰕌󰯑󱽊󱔪󰋨󰒒󱤉󱛡󱄊󰯧󱞴󰭲󰍻󱽊󰑷󱎁󰑄󰓝󱉇󱽙󱔪󰋨󰒒󱤉󱛡󱄊󰯧󰐸󰭲󰍻󱽊󰑷

󱎁󰑄󰓝󰻘󰇍

4、实验准备

1.󰊾󱣒󰣳󰟷󱜉QASM󱣄󰍈󰇍

2.󰊾󱣒󱣥󰐚󰊷󰋔󰮝󰇌󱣥󰑣󰊷󰋔󰮝󱄊󰺹程序󱽊󰌿󰮵󰎧编程󰇍

3.󱞼󱞏󰊾󱣒󱄊程序󱽊󱆸󰎴󰍘󱡲󱢎程序󰇍

5、实验1:从键盘输入无符号整数到缓冲区

1󱽌实验󱜶󰶻󱽘编󰐸󰋟程序󱽊实󱀘󰌰󱪄󱄨󱣥󰐚󰯄󱊀󰕂󰮟󰮝0000-0FFFFH󱤉󱎁󰑄󰓝󰇍󱎁󰑄󰓝󰕐󰟚

BUFFER󱽊󱫂󰤏16󱽊SI󰋞󱫳󰡋󱽊DI󰋞󱫳󱯫󰇍󰑺󰝽SI=DI=5󰇍󱎁󰑄󰓝󰻘󰑷󰖾󱨣󰪑󱝝󱽊󰋀󰐳󰬣󰐚󱫳󰑵󰇍󰸌󰨓󱁹

󰩚󱂍󱭧󰡊󱧚󰔤󰝞󰇍

2󱽌󱞰󱍌󰑣󰰵程序󱄊󰮝󰫶󰶀󰠀󰋧󰇍

bufferdw16dup(0)19inputdb0dh,0,0dhdup(?)20fullsgndw021promptdb’Pleaseinputahexadecimalnumber:$’22

󰖻󰠷󰻝󰢺󰋊󰜸󰟦计󱊫󰰻󱈙󰟦󰋁󰩿󰰷󰟦󱬓󱊄1󱮆(󰐡6󱮆)实验二󱽘󱎁󰑄󰓝设计󰟦󰕂󱽘1100300619󰞁󰕐󱽘󱦌󱔮󰋌

sucmsgdb0dh,0ah,’Addingtobuffersucceeded!’,0dh,0ah,’$’23errmsgdb0dh,0ah,’Illegalinput!’,0dh,0ah,’$’24fullmsgdb0dh,0ah,’Bufferisfull!’,0dh,0ah,’$’25

3󱽌󱂇󰑣程序󰸷程󰚏󰇍

4󱽌编󰒄󱞼󱞏程序󱽊󱆸󰎴󰲊󱄺󱎁󰑄󰓝󱄊󰥇󰒒󱍇󰱧󰋁󱣥󰐚󰮝󰫶󰊷󱒱󰇍

5󱽌󰪂󰵥程序󰎾󰮈󰋞󰕐󰋞Input󱄊󰟕程序󱽊󰚚󰋟程序󰋗󱞼󱁹󰇍󰐳󰵓󱞼󱞏󱤰󱣿󰇍󱎁󰑄󰓝󰻘󰯑󱽊SI󰋞000AH󱽊

DI󰋞000AH󱽊󰥇󰒒󱎁󰑄󰓝󱄊󰎚󰵓󰮝󰫶󰋞

0C8B:0000DEBCEFCDF0DE-01EF12F023013412..........#.4.

0C8B:00104523563467457856-89679A78AB89BC9AE#V4gExV.g.x....

0C8B:0020CDAB..

6󱽌󰬢󰌔2󱈘󰾠󰰵󱄊程序󰕐󰋞IP1.ASMIP2.ASM

汇编󰺹程序󱽘source\ip1.asm󱽊汇编󰋞binary\ip1.exe

󰖻󰠷󰻝󰢺󰋊󰜸󰟦计󱊫󰰻󱈙󰟦󰋁󰩿󰰷󰟦󱬓󱊄2󱮆(󰐡6󱮆)实验二󱽘󱎁󰑄󰓝设计󰟦󰕂󱽘1100300619󰞁󰕐󱽘󱦌󱔮󰋌

汇编󰺹程序󱽘source\ip2.asm󱽊汇编󰋞binary\ip2.exe

6、实验2:从屏幕输出缓冲区的内容

1󱽌实验󱜶󰶻󱽘编󰐸󰋟程序󱽊󰯭󱇨󱎁󰑄󰓝BUFFER󱄊󰐯󰠔󱽊󱫂󰤏16󱽊SI󰋞󱫳󰡋󱽊DI󰋞󱫳󱯫󰇍󰑺󰝽

SI=6󱽊DI=10󱽊󱎁󰑄󰓝󱉇󰑷󱍇󰱌程序󰇍Buffer󰑺󰝽󰋞󱊄i󰕂󰐋󱌉󱄊󰏙󰋞–i󰇍󰸌󰨓󱁹󰩚󱂍󱭧󰡊󱧚󰔤󰝞󰇍

2󱽌󱞰󱍌󰑣󰰵程序󱄊󰮝󰫶󰶀󰠀󰋧󰇍

bufferdw0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-1519outstrdb4dup(’0’),’H’,0dh,0ah,’$’20fullsgndw021promptdb’Numbergotfromthequeue:$’22sucmsgdb’Outputsucceeded!’,0dh,0ah,’$’23emptymsgdb’Bufferisempty!’,0dh,0ah,’$’24

3󱽌󱂇󰑣程序󰸷程󰚏󰇍

󰖻󰠷󰻝󰢺󰋊󰜸󰟦计󱊫󰰻󱈙󰟦󰋁󰩿󰰷󰟦󱬓󱊄3󱮆(󰐡6󱮆)实验二󱽘󱎁󰑄󰓝设计󰟦󰕂󱽘1100300619󰞁󰕐󱽘󱦌󱔮󰋌

4󱽌编󰒄󱞼󱞏程序󱽊󱆸󰎴󱣥󰑣󱎁󰑄󰓝󱄊󰏙󰋁󰑺󰝽󱄊󰮝󰫶󰊷󱒱󰇍

5󱽌󰪂󰵥程序󰎾󰮈󰋞󰕐󰋞output󱄊󰟕程序󱽊󰚚󰋟程序󰋗󱞼󱁹󰇍󰐳󰵓󱞼󱞏󱤰󱣿󰇍

6󱽌󱎁󰑄󰓝󱉇󰯑󱽊SI󰋞000CH󱽊DI󰋞000CH󰇍

7󱽌󰬢󰌔2󱈘󰾠󰰵󱄊程序󰕐󰋞OP1.ASMOP2.ASM

汇编󰺹程序󱽘source\op1.asm󱽊汇编󰋞binary\op1.exe

汇编󰺹程序󱽘source\op2.asm󱽊汇编󰋞binary\op2.exe

7、实验3:输入输出缓冲区的设计

1.实验󱜶󰶻󱽘设计󰊷󱎁󰑄󰓝󱣥󰐚󱣥󰑣󱄊程序󰇍󱎁󰑄󰓝BUFFER󰋞16󰋔DW󱋝󰛌󱄊󰯄󱊀󰕂󰮟󰮝󰐋󱌉󱄊

󰥰󱀗󱫳󰑵󰇍

󰫋󰃾1󰃿󱪄󱽊󰌰󱪄󱄨󱣥󰐚󰊷󰋔󰮝󰫶󰒂BUFFER󱫳󰡋󱽊󱔪󰻘󰑷󰖾󱨣󰪑󱝝󱽊󰣳󰯭󱇨󰃾Bufferisfull󱼿󰃿󰎷󰧌󱽙

󰫋󰃾2󰃿󱪄󱽊󰑷󰯭󱇨󱣥󰑣BUFFER󱫳󱯫󰮝󰫶󱽊󰣳󰑻󱬔󰇍󱔪󱉇󰑷󰯭󱇨󰃾Bufferisempty!󰃿󱽙

󰫋󰃾3󰃿󱪄󱽊󰑷󰪂󰥇󰒒󱎁󰑄󰓝󱄊󰮝󰫶󰫋󰌰󰠵󰒂󰜸󰬆序󱽙

󰫋󰃾4󰃿󱪄󱽊󰥇󰒒󱎁󰑄󰓝󱯫󰡋󱮬󰏈󰇍

󰫋󰃾5󰃿󱪄󱽊󰺍󱉇󰥇󰒒󱎁󰑄󰓝󰇍

󰫋󰃾6󰃿󱪄󱽊󰑺󰝽󰓑󱎁󰑄󰓝󰋞󰻘󱽊󰶈󰋔󰐋󱌉󰏙󰋞󰐥󰮝󱌸序󰕂󰇍

󰫋󰃾7󰃿󱪄󱽊󰯭󱇨󱎁󰑄󰓝󰩞󰰦󰮝󰫶󱽊󰔣IP,OP󱄊󰏙󱽊󰯧󰕡󰻘󰩋󱉇󰇍

󰫋󰃾0󰃿󱪄󱽊󱤞󰑣程序󰇍

󱜶󰶻程序󱄊󱁹󰩚󱂍󱭧󰡊󱧚󰔤󰝞󱼿(1󰇌2󰇌0󱪄󰋞󰥹󰏢󱽊󰐥󰌵󰔻󱤥)

2.󱞰󱍌󰑣󰰵程序󱄊󰮝󰫶󰶀󰠀󰋧

bufferdw16dup(0)21pointerindw022pointeroutdw023bfinputdb0dh,0,0dhdup(?)24fullsgndw025outstrdb4dup(’0’),’H$’26outtaildb’|’,0dh,0ah,’$’27inputmsgdb’========================DataInput========================’,0dh,0ah28db’Pleaseinputahexadecimalnumber(0~FFFF,caseinsensitive):’,0dh,0ah,’DATAINPUT>$’29outputmsgdb’|Numbergotfromthequeue:$’30addmsgdb’|Addingtobuffersucceeded!|’,0dh,0ah,’$’31errmsgdb’|Illegalinput!|’,0dh,0ah,’$’32fullmsgdb’|Bufferisfull!|’,0dh,0ah,’$’33emptymsgdb’|Bufferisempty!|’,0dh,0ah,’$’34crlfdb0dh,0ah,’$’35welcomedb’===============ASMExperiment2:BufferI/O=============x=’,0dh,0ah36db’||’,0dh,0ah37db’|1.Inputahexnumbertobuffer|’,0dh,0ah38db’|2.Outputahexnumberfrombuffer|’,0dh,0ah39db’|3.Sortbufferdata|’,0dh,0ah40db’|4.Reversebuffer|’,0dh,0ah41db’|5.Clearbuffer|’,0dh,0ah42db’|6.Initializebufferwitharraynumber|’,0dh,0ah43db’|7.BufferInfo|’,0dh,0ah44db’|0.Exit|’,0dh,0ah45db’||’,0dh,0ah46db’|ProgramVersion:1.05d|’,0dh,0ah47db’================================================byEmingK=’,0dh,0ah,’$’48choicemsgdb’PleaseEnterachoice:$’49

󰖻󰠷󰻝󰢺󰋊󰜸󰟦计󱊫󰰻󱈙󰟦󰋁󰩿󰰷󰟦󱬓󱊄4󱮆(󰐡6󱮆)