- 博客(0)
- 资源 (8)
- 收藏
- 关注
编译原理课程设计实现源码
主函数部分内容/****************************************************/
/* File: main.c */
/* Main program for TINY compiler */
/****************************************************/
#include "globals.h"
/* set NO_PARSE to TRUE to get a scanner-only compiler */
#define NO_PARSE FALSE
/* set NO_ANALYZE to TRUE to get a parser-only compiler */
#define NO_ANALYZE FALSE
/* set NO_CODE to TRUE to get a compiler that does not
* generate code
*/
#define NO_CODE FALSE
#include "util.h"
#if NO_PARSE
2009-03-04
汇编语言指令综合实验
试编写一程序段,要求在长度为100H字节的数组中,找出大于42H的无符号数的个
数并存入字节单元UP中;找出小于42H的无符号数的个数并存入字节单元DOWN中。
2008-10-31
用汇编实现1-10相加
; add your code here
MOV AX,0
MOV BX,1
A:ADD AX,BX
INC BX
CMP BX,10
JBE A
;上面是计算1+……+10
2008-10-29
用汇编语言求1--10的和
; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; add your code here
MOV AX,0
MOV BX,1
A:ADD AX,BX
INC BX
CMP BX,10
2008-10-29
用汇编程序实现两个32位数相加
SSEG SEGMENT STACK 'STACK'
db 256 DUP(0)
SSEG ENDS
CSEG SEGMENT 'CODE'
START PROC FAR
; set segment registers:
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
MOV AX, 4C00h ; exit to operating system.
INT 21h
START ENDP
CSEG ENDS
END START ; set entry point.
2008-10-29
用汇编语言解决01个数
MOV AX, DSEG
MOV DS, AX
MOV ES, AX
; add your code here
MOV CX,0
MOV AX,X
C:CMP AX,0
JNZ A
JZ D
D:MOV DX,CX
ADD DL,'0'
MOV AH,2
INT 21H
JMP EXIT
2008-10-29
动态规划解决0-1背包
void knapsack(int val[],int wei[],int c,int n,int**m) //求最优值
{
int jmax=min(wei[n]-1,c);
for(int j=0;j<=jmax;j++)
m[n][j]=0;
for(int jj=wei[n];jj<=c;jj++)
m[n][jj]=val[n];
for(int i=n-1;i>1;i--){ //递归部分
jmax=min(wei[i]-1,c);
for(int j=0;j<=jmax;j++)
m[i][j]=m[i+1][j];
for(int jj=wei[i];jj<=c;jj++)
m[i][jj]=max(m[i+1][jj],m[i+1][jj-wei[i]]+val[i]);
}
2008-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人