




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、lab 1: assembly language tools and data representationcontents1.1. introduction to assembly language tools1.2. installing masm 6.151.3. displaying a welcome statement1.4. installing the windows debugger1.5. using the windows debugger1.6. data representation1.1 introduction to assembly language tools
2、software tools are used for editing, assembling, linking, and debugging assembly language programming. you will need an assembler, a linker, a debugger, and an editor. these tools are briefly explained below.1.1.1 assembleran assembler is a program that converts source-code programs written in assem
3、bly language into object files in machine language. popular assemblers have emerged over the years for the intel family of processors. these include masm (macro assembler from microsoft), tasm (turbo assembler from borland), nasm (netwide assembler for both windows and linux), and gnu assembler dist
4、ributed by the free software foundation. we will use masm .2 linkera linker is a program that combines your programs object file created by the assembler with other object files and link libraries, and produces a single executable program. you need a linker utility to produce executable file
5、s. two linkers: link.exe and link32.exe are provided with the masm 6.15 distribution to link 16-bit real-address mode and 32-bit protected-address mode programs respectively.we will also use a link library for basic input-output. two versions of the link library exist that were originally developed
6、by kip irvine. the 32-bit version is called irvine32.lib and works in win32 console mode under ms-windows, while the 16-bit version is called irvine16.lib and works under ms-dos.1.1.3 debuggera debugger is a program that allows you to trace the execution of a program and examine the content of regis
7、ters and memory.for 16-bit programs, masm supplies a 16-bit debugger named codeview. codeview can be used to debug only 16-bit programs and is already provided with the masm 6.15 distribution.for 32-bit protected-mode programs, you need a 32-bit debugger. the latest version of the 32-bit windows deb
8、ugger is available for download for free from microsoft.1.1.4 editoryou need a text editor to create assembly language source files. you can use notepad , or any other editor that produces plain ascii text files. you can also use the context editor, which is distributed as a freeware at http:/www.co
9、ntext.cx. context is a powerful editor that can be easily customized and can be used as a programming environment to program in assembly language. it has built-in syntax highlighting feature.1.2 lab work: installing masm 6.15step 1: download masm615.exe, a self-extract executable file, from http:/ww
10、.sa/mudawar/coe205/lab/index.htm .step 2: double click on masm615.exe to extract the files. specify the installation directory. we recommend using c:program filesmasm615 as the destination directory, but any other directory will do.step 3: define an environment variable masmdir for t
11、he installation directory. under control panel, double-click on system to obtain the system properties dialog box. under system properties, click on the advanced tab. click on the environment variables button.under environment variables, click on the new button to add a new system variable. add masm
12、dir as the variable name and the c:program filesmasm615 as the variable value and press ok. the masmdir variable and its value should now appear under system variables. if a different installation directory is chosen for masm 6.15 then specify it here.step 4: edit the path system variable by inserti
13、ng %masmdir%; (dont forget the semicolon) at the beginning of the variable value.step 5: define a new system variable called include with value %masmdir%include as show below and press ok. this variable specifies the directory that contains the include (.inc) files.step 6: define a new system variab
14、le called lib with value %masmdir%lib as show below and press ok. this variable specifies the directory that contains the link library (.lib) files.step 7: check the environment variables. open a command prompt and type: set masmdir set include set lib paththese commands should display the masmdir,
15、include, lib, and path environment variables as shown below. if the installation steps are done properly, you can start using the masm commands.1.3 displaying a welcome statementthe first assembly-language program that you will assemble, link, and run is welcome.asm. this program displays a welcome
16、statement on the screen and terminates. you can open this program using any text editor. we will not go over the details of this program in this first lab. you will understand these details in future labs.title displaying a welcoming message (welcome.asm).686.model flat, stdcall.stackinclude irvine3
17、2.inc.datacr equ 0dh ; carriage returnlf equ 0ah ; line feedwelcome byte welcome to coe 205,cr,lf byte computer organization and assembly language,cr,lf byte enjoy this course and its lab,cr,lf,0.codemain proc; clear the screen call clrscr ; call procedure clrscr; write a null-terminated string to s
18、tandard output lea edx, welcome ; load effective address of welcome into edx call writestring ; write string whose address is in edx exitmain endpend main1.3.1 lab work: assembling and linking a programopen a command prompt and type the following command. this command will assemble and link the welc
19、ome.asm program.make32 welcome1.3.2 lab work: running a programthe make32 command will generate is the welcome.exe executable file. you can now run the welcome.exe program by simply typing welcome at the command prompt. watch the output of this program and write it down in the following box:console
20、output1.4 lab work: installing the 32-bit windows debuggerthe latest version of the 32-bit windows debugger is available for download from microsoft at alternatively, you can download version (released on june 2005) from .sa/mudawar/coe205/lab/index.htm.step 1: downlo
21、ad the 32-bit debugger installer.step 2: double click on the installer executable file and follow the on-screen instructions.step 3: edit the path system variable by appending the installation directory of the windows debugger c:program filesdebugging tools for windows at the end of the path value.
22、dont forget to use the semicolon as a separator between various directories in the path system variable.step 4: open a command prompt and type: path. this command should display the value of the path variable. make sure to have the installation directory of the debugger c:program filesdebugging tool
23、s for windows as part of the path variable.1.5 lab work: using the 32-bit windows debuggerwe will use the windows debugger extensively throughout this semester to trace and debug programs. at the command prompt, type: windbg qy g welcome.exe to run the windows debugger.open the source file welcome.a
24、sm from the file menu (or click on the button). place the cursor at the beginning of the main procedure and press f7 (or click the button) to start the execution of the main procedure. press f10 (or click the button) to step through the execution of the main procedure. observe the console output as
25、you step through the execution.1.6 practice: data representationbefore going into the details of assembly language programming, it is important that you master skills and develop fluency about data representation. computer data can be represented in a variety of ways. we will examine the content of
26、memory and registers at the machine level. we will use the binary, decimal, and hexadecimal number systems. here are some practice exercises:1.6.1 write each of the following decimal numbers in binary:a)2 = d) 13 = b)7 = e) 27 = c)9 = f) 62 = 1.6.2 write each of the following binary numbers in decim
27、al:a)00001010 = d) 01010111 = b)00001111 = e) 10000000 = c)00101000 = f) 11000111 = 1.6.3 write each of the following binary numbers in hexadecimal:a)00001010 = d) 01010111 = b)00001111 = e) 10000000 = c)00101000 = f) 11000111 = 1.6.4 write each of the following hexadecimal numbers in binary:a)0b =
28、d) 3d15 = b)4c = e) 6e70 = c)af = f) 8a9b = 1.6.5 write each of the following hexadecimal numbers in decimal:a)0b = d) 3d15 = b)4c = e) 6e70 = c)af = f) 8a9b = 1.6.6 signed integers: 2s complement notationin mathematics, the negative of a number n is the value when added to n produces zero. for exam
29、ple: 3 + (-3) = 0. programs often include both subtraction and addition operations. however, the cpu only performs addition internally. when subtracting a b, the cpu performs a + (-b). for example, to subtract 6 4, the cpu does 6 + (-4).when working with binary numbers, how does the cpu compute the
30、negative of a number? the answer is that the cpu computes the 2s complement. the 2s complement is the negative of a number. for example, consider the following 8-bit binary number: 00010110, which is equal to 22 in decimal. the 2s complement is obtained by reversing each bit of a binary number (call
31、ed the 1s complement) and then adding 1. for example,2s complement of 00010110 = 11101001 (1s complement) + 1 = 111010100001011011101010+00000000the carry is 1, but it is ignored, since we are representing the number in 8 bitssince 00010110 in binary = 22 in decimal, then11101010 in binary = -22 in decimal1.6.7 write each of the following integers in 8-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 課題代寫申報書是什么
- 課題申報評審書范例范文
- 就業(yè)心理 課題申報書
- 河南小學(xué)課題申報書范例
- 兌換房子合同范本
- 公司外匯借款合同范本
- 益智課堂課題研究申報書
- 閱讀推廣 課題申報書
- 課題申報項目書推廣價值
- 同城工程勞務(wù)合同范例
- 超聲引導(dǎo)下椎管內(nèi)麻醉
- 幼兒園科學(xué)課件:《大肚子媽媽》
- 北師大版 數(shù)學(xué) 三年級下冊 單元作業(yè)設(shè)計 面積
- 智能農(nóng)業(yè)除草機器人研究現(xiàn)狀與趨勢分析
- (完整版)200210號文-工程勘察設(shè)計收費標(biāo)準(zhǔn)(2002年修訂本)本月修正2023簡版
- 基于核心素養(yǎng)下小學(xué)英語單元整體作業(yè)設(shè)計實踐研究 論文
- 風(fēng)電工作流程圖
- 社會救助公共基礎(chǔ)知識題庫及答案
- 《論文所用框架圖》課件
- 人教版三年級下冊說課標(biāo)、說教材
- 2022版《義務(wù)教育科學(xué)課程標(biāo)準(zhǔn)》試題及答案
評論
0/150
提交評論